Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Battle of the Stacks - WordCamp Atlanta 2015

Battle of the Stacks - WordCamp Atlanta 2015

When you first start as a developer all you care about is the code. As you progress and become more concerned with performance you begin to realize that there’s a whole world of possibilities and no clear indication of what works best.

In this presentation we’ll look at different combinations of web server technologies including Apache, NGINX, HHVM, PHP-FPM, and more, then we'll run load tests on each one of them in a head to head competition to find out which one is the Last Stack Standing.

This is the updated version of the BoS presentation. Same format as before, but updated to include more technologies and better tests.

Nic Rosental

March 29, 2015
Tweet

More Decks by Nic Rosental

Other Decks in Technology

Transcript

  1. Battle of the Stacks by Nic Rosental @nicdev Image by

    Cosmopolitan of Las Vegas https://www.flickr.com/photos/thecosmopolitan/
  2. noun noun: stack; plural noun: stacks 1. a pile of

    objects, typically one that is neatly arranged. "a stack of boxes" synonyms: heap, pile, mound, mountain, pyramid, tower "a stack of boxes" informal a large quantity of something. "there's stacks of work for me now" a rectangular or cylindrical pile of hay or straw or of grain in sheaf. synonyms: haystack, rick, hayrick, mow, shock, haycock; datedcock "a stack of hay" a vertical arrangement of stereo or guitar amplification equipment. a number of aircraft flying in circles at different altitudes around the same point while waiting for permission to land at an airport. a pyramidal group of rifles. units of shelving in part of a library, used to store books compactly. plural noun: the stacks COMPUTING a set of storage locations that store data in such a way that the most recently stored item is the first to be retrieved. 2. a chimney, especially one on a factory, or a vertical exhaust pipe on a vehicle. synonyms: chimney, smokestack, funnel, exhaust pipe a column of rock standing in the sea, remaining after erosion of cliffs. noun: sea stack; plural noun: sea stacks Stacks
  3. The components that make up your application. From the web

    server software all the way to the code. Image by Juhan Sonin https://www.flickr.com/photos/juhansonin/
  4. Goals for this session • Get a general overview of

    different stacks • Learn something • Have fun Image by 713 Avenue https://www.flickr.com/photos/seven13avenue/
  5. Each stack gets paired against another stack randomly in a

    playoff format. Each stack gets a vanilla installation of WordPress Each stack is tested using Loader.io. The stack with better average response times moves to the next round. Each rounds’ test is progressively harder than the last. The winner of the third round will be crowned Last Stack Standing
  6. LAMP Apache 2.4 Worker + FPM HHVM + Apache HHVM

    + NGINX LAMP Apache 2.4 Event + FPM Lighty LAMP Apache 2.2 Prefork LEMP LAMP Apache 2.4 Prefork 60 clients over 60 seconds
  7. LAMP Apache 2.4 Worker + FPM Average Response Time: 79ms

    HHVM Apache Average Response Time: 41ms
  8. Lighty + FPM Average Response Time: 62ms LAMP Apache 2.2

    Prefork Average Response Time: 191ms
  9. LAMP Apache 2.4 Worker + FPM HHVM + Apache HHVM

    + NGINX LAMP Apache 2.4 Event + FPM Lighty LAMP Apache 2.2 Prefork LEMP LAMP Apache 2.4 Prefork 120 clients over 60 seconds HHVM + Apache HHVM + NGINX Lighty LEMP
  10. LAMP Apache 2.4 Worker + FPM HHVM + Apache HHVM

    + NGINX LAMP Apache 2.4 Event + FPM Lighty LAMP Apache 2.2 Prefork LEMP LAMP Apache 2.4 Prefork 480 clients over 60 seconds HHVM + Apache HHVM + NGINX Lighty LEMP HHVM + Apache Lighty