SlideShare a Scribd company logo
1 of 63
Download to read offline
Battle of the
Stacks
by Nic Rosental!
@nicdev
Image by Cosmopolitan of Las Vegas https://www.flickr.com/photos/thecosmopolitan/
!
!
!
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
Image by K.G.23 https://www.flickr.com/photos/kg-23/12846731134
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/
Performance means
speed and reliability
Image by cle0patra https://www.flickr.com/photos/cle0patra/
More hardware
Image by S Jones https://www.flickr.com/photos/pixeljones/
The Setup
Image by afromusing https://www.flickr.com/photos/afropicmusing/
LAMP Stack
Image by Cosmopolitan of Las Vegas https://www.flickr.com/photos/thecosmopolitan/
Prefork!
vs!
Worker!
vs!
Event
Image by Allen McGregor https://www.flickr.com/photos/allenmcgregor/
LAMP Stack!
Apache 2.4 Prefork
Image by Peter Miller https://www.flickr.com/photos/pmillera4/
MaxRequestWorkers = 512MB / 22.5MB!
~23 MaxRequestWorkers
LAMP Stack!
Apache 2.2 Prefork
Image by Nerissa Villas https://www.flickr.com/photos/envypictures/
MaxClients = 512MB / 13MB!
!
~28 MaxClients
LAMP Stack!
Apache 2.4 Worker +!
PHP-FPM
Image by Image by Peter Miller https://www.flickr.com/photos/sumaryanto-bronto/
MaxRequestWorkers = 512MB / 8MB!
~64 MaxRequestWorkers
LAMP Stack!
Apache 2.4 Event +!
PHP-FPM
Image by Arne Halvorsen https://www.flickr.com/photos/arne-halvorsen/
MaxRequestWorkers = 512MB / 4MB!
!
~128 MaxRequestWorkers
LEMP Stack
Image by Christa Lohman https://www.flickr.com/photos/chloeloe/
HHVM
Image by Andrew Siguenza https://www.flickr.com/photos/photo-knight/
HHVM + Apache 2.4!
HHVM + NGINX
Image by Michael Coté https://www.flickr.com/photos/cote/
Lighttpd!
AKA Lighty
Image by JayRaz https://www.flickr.com/photos/shnakepup/
Let the battle begin!
Image by Paul Kitchener https://www.flickr.com/photos/pmillera4/
Each stack gets paired against another stack randomly in
a playoff format.!
!
Each stack gets a vanilla installation of WordPress to be
used as target.!
!
Each stack is tested using Loader.io.!
!
The stack with better response time moves on 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
Apache 2.2 Prefork
Apache 2.4 Worker + FPM
HHVM + NGINX
LAMP Apache 2.4 Event + FPM
Lighty + FPM
LEMP
LAMP Apache 2.4 Prefork
HHVM + Apache 2.4
60 clients/60 seconds
LAMP Apache 2.2 Prefork!
!
Vs.!
!
LAMP Apache 2.4 Worker + FPM
http://ldr.io/1ogrzVi
http://ldr.io/ZI8Sya
LAMP Apache 2.4 Worker + FPM
LAMP Apache 2.2 Prefork
Response time: 163ms
Response time: 60ms
HHVM + NGINX!
!
vs!
!
LAMP Apache 2.4 Event + FPM
http://ldr.io/ZzETbj
http://ldr.io/1nu476f
Response time: 32ms
Response time: 65ms
HHVM + NGINX
LAMP Apache 2.4 Event + FPM
Lighty + FPM!
!
vs!
!
LEMP (NGINX + FPM)!
http://ldr.io/1ogzbau
http://ldr.io/1y3bjqM
Response time: 50ms
Response time: 44ms
Lighty + FPM
LEMP (NGINX + FPM)
LAMP Apache 2.4 Prefork!
!
vs!
!
HHVM + Apache 2.4!
!
http://ldr.io/1DjdQAj
http://ldr.io/ZzKpKX
Response time: 82ms
Response time: 30ms
LAMP Apache 2.4 Prefork
HHVM + Apache 2.4
LAMP Apache 2.4
Worker + FPM
HHVM + NGINX
HHVM + Apache 2.4
LEMP
120 clients/60 seconds
LAMP Apache 2.4 Worker + FPM!
!
vs!
!
HHVM + NGINX!
!
http://ldr.io/1sRdwW8
http://ldr.io/1nuaKpk
Response time: 85ms
Response time: 31ms
LAMP Apache 2.4 Worker + FPM
HHVM + NGINX
LEMP!
!
vs!
!
HHVM + Apache 2.4!
!
http://ldr.io/ZzGVbp
http://ldr.io/1nuhTWE
Response time: 60ms
Response time: 29ms
LEMP
HHVM + Apache 2.4
HHVM + NGINX
HHVM + APACHE 2.4
480 clients/60 seconds
HHVM + NGINX!
!
vs!
!
HHVM + Apache 2.4!
!
http://ldr.io/1ogvD7X
http://ldr.io/1ogD7b3
Response time: 76ms
Response time: 60ms
HHVM + NGINX
HHVM + Apache 2.4
Image by Articularnos.com https://www.flickr.com/photos/articularnos/
Champion of the !
Battle Of The Stacks
ATO Edition
HHVM + Apache 2.4
Image by yamchildht tps://www.flickr.com/photos/yamchild/
Test the limits
!
HHVM + Apache 2.4!
! http://ldr.io/1w6dtrZ
Response time: 6210ms
HHVM + Apache 2.4
Successful responses: 2148
Errors: 8 (0.4%)
Key Takeaways
Image by János Csongor Kerekes https://www.flickr.com/photos/kjcs/
Thanks, Chris Fidao!
@fideloper
Thanks y’all
Image by Trey Ratcliff https://www.flickr.com/photos/stuckincustoms/
Get in touch!
nic@epiclabs.com!
@nicdev!
!
Get the slides!
https://speakerdeck.com/nicdev
Image by Brocco https://www.flickr.com/photos/brocco_lee/

More Related Content

What's hot

Release with confidence
Release with confidenceRelease with confidence
Release with confidenceJohn Congdon
 
Loophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in ChromeLoophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in Chromecgvwzq
 
Hands-on VeriFast with STM32 microcontroller @ Osaka
Hands-on VeriFast with STM32 microcontroller @ OsakaHands-on VeriFast with STM32 microcontroller @ Osaka
Hands-on VeriFast with STM32 microcontroller @ OsakaKiwamu Okabe
 
JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski
JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski
JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski PROIDEA
 
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet
 
Testing For Unicorns [IMWorld]
Testing For Unicorns [IMWorld] Testing For Unicorns [IMWorld]
Testing For Unicorns [IMWorld] Alex Soto
 
SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)Robert Swisher
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in PythonMosky Liu
 
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBoxDiscovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBoxClinton Kitson
 
DevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry PiDevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry PiAkshay Karle
 
A Partial Multiverse Model of Time Travel for Debugging
A Partial Multiverse Model of Time Travel for DebuggingA Partial Multiverse Model of Time Travel for Debugging
A Partial Multiverse Model of Time Travel for Debuggingawwaiid
 
Ruby Concurrency and EventMachine
Ruby Concurrency and EventMachineRuby Concurrency and EventMachine
Ruby Concurrency and EventMachineChristopher Spring
 
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...Puppet
 
Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?Alex Soto
 
Why async matters
Why async mattersWhy async matters
Why async matterstimbc
 
Test Driven Development with Puppet - PuppetConf 2014
Test Driven Development with Puppet - PuppetConf 2014Test Driven Development with Puppet - PuppetConf 2014
Test Driven Development with Puppet - PuppetConf 2014Puppet
 

What's hot (20)

Release with confidence
Release with confidenceRelease with confidence
Release with confidence
 
Loophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in ChromeLoophole: Timing Attacks on Shared Event Loops in Chrome
Loophole: Timing Attacks on Shared Event Loops in Chrome
 
Hands-on VeriFast with STM32 microcontroller @ Osaka
Hands-on VeriFast with STM32 microcontroller @ OsakaHands-on VeriFast with STM32 microcontroller @ Osaka
Hands-on VeriFast with STM32 microcontroller @ Osaka
 
JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski
JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski
JDO 2019: Serverless Hype Driven Development - Grzegorz Piotrowski
 
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
 
Testing For Unicorns [IMWorld]
Testing For Unicorns [IMWorld] Testing For Unicorns [IMWorld]
Testing For Unicorns [IMWorld]
 
SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)SDPHP - Percona Toolkit (It's Basically Magic)
SDPHP - Percona Toolkit (It's Basically Magic)
 
Stop js-1999
Stop js-1999Stop js-1999
Stop js-1999
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in Python
 
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBoxDiscovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
Discovering Volume Plugins with Applications using Docker Toolbox and VirtualBox
 
DevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry PiDevOps Days India 2013: Build Radiator on Raspberry Pi
DevOps Days India 2013: Build Radiator on Raspberry Pi
 
A Partial Multiverse Model of Time Travel for Debugging
A Partial Multiverse Model of Time Travel for DebuggingA Partial Multiverse Model of Time Travel for Debugging
A Partial Multiverse Model of Time Travel for Debugging
 
Ruby Concurrency and EventMachine
Ruby Concurrency and EventMachineRuby Concurrency and EventMachine
Ruby Concurrency and EventMachine
 
rioinfo2012
rioinfo2012rioinfo2012
rioinfo2012
 
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
Orchestrated Functional Testing with Puppet-spec and Mspectator - PuppetConf ...
 
Domains!
Domains!Domains!
Domains!
 
Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?
 
Why async matters
Why async mattersWhy async matters
Why async matters
 
Introduction to ansible
Introduction to ansibleIntroduction to ansible
Introduction to ansible
 
Test Driven Development with Puppet - PuppetConf 2014
Test Driven Development with Puppet - PuppetConf 2014Test Driven Development with Puppet - PuppetConf 2014
Test Driven Development with Puppet - PuppetConf 2014
 

Viewers also liked

What Does Big Data Really Mean for Your Business?
What Does Big Data Really Mean for Your Business?What Does Big Data Really Mean for Your Business?
What Does Big Data Really Mean for Your Business?All Things Open
 
Considerations for Operating an OpenStack Cloud
Considerations for Operating an OpenStack CloudConsiderations for Operating an OpenStack Cloud
Considerations for Operating an OpenStack CloudAll Things Open
 
Stop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyStop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyAll Things Open
 
Developing Apps for Google Glass Using Javascript & Ruby
Developing Apps for Google Glass Using Javascript & RubyDeveloping Apps for Google Glass Using Javascript & Ruby
Developing Apps for Google Glass Using Javascript & RubyAll Things Open
 
Sustainable Open Data Markets
Sustainable Open Data MarketsSustainable Open Data Markets
Sustainable Open Data MarketsAll Things Open
 
Choosing a Javascript Framework
Choosing a Javascript FrameworkChoosing a Javascript Framework
Choosing a Javascript FrameworkAll Things Open
 
Giving a URL to All Objects using Beacons²
Giving a URL to All Objects using Beacons²Giving a URL to All Objects using Beacons²
Giving a URL to All Objects using Beacons²All Things Open
 
Trademarks and Your Free and Open Source Software Project
Trademarks and Your Free and Open Source Software ProjectTrademarks and Your Free and Open Source Software Project
Trademarks and Your Free and Open Source Software ProjectAll Things Open
 
The Gurubox Project: Open Source Troubleshooting Tools
The Gurubox Project: Open Source Troubleshooting ToolsThe Gurubox Project: Open Source Troubleshooting Tools
The Gurubox Project: Open Source Troubleshooting ToolsAll Things Open
 
Building the iRODS Consortium
Building the iRODS ConsortiumBuilding the iRODS Consortium
Building the iRODS ConsortiumAll Things Open
 
Marketing is not all fluff; engineering is not all math
Marketing is not all fluff; engineering is not all mathMarketing is not all fluff; engineering is not all math
Marketing is not all fluff; engineering is not all mathAll Things Open
 
Ansible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and CountingAnsible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and CountingAll Things Open
 
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...All Things Open
 
Open Source in Healthcare
Open Source in HealthcareOpen Source in Healthcare
Open Source in HealthcareAll Things Open
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By DesignAll Things Open
 
JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingAll Things Open
 
Great Artists (Designers) Steal
Great Artists (Designers) StealGreat Artists (Designers) Steal
Great Artists (Designers) StealAll Things Open
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayAll Things Open
 
Software Development as a Civic Service
Software Development as a Civic ServiceSoftware Development as a Civic Service
Software Development as a Civic ServiceAll Things Open
 
Version Control and Git - GitHub Workshop
Version Control and Git - GitHub WorkshopVersion Control and Git - GitHub Workshop
Version Control and Git - GitHub WorkshopAll Things Open
 

Viewers also liked (20)

What Does Big Data Really Mean for Your Business?
What Does Big Data Really Mean for Your Business?What Does Big Data Really Mean for Your Business?
What Does Big Data Really Mean for Your Business?
 
Considerations for Operating an OpenStack Cloud
Considerations for Operating an OpenStack CloudConsiderations for Operating an OpenStack Cloud
Considerations for Operating an OpenStack Cloud
 
Stop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case StudyStop Worrying & Love the SQL - A Case Study
Stop Worrying & Love the SQL - A Case Study
 
Developing Apps for Google Glass Using Javascript & Ruby
Developing Apps for Google Glass Using Javascript & RubyDeveloping Apps for Google Glass Using Javascript & Ruby
Developing Apps for Google Glass Using Javascript & Ruby
 
Sustainable Open Data Markets
Sustainable Open Data MarketsSustainable Open Data Markets
Sustainable Open Data Markets
 
Choosing a Javascript Framework
Choosing a Javascript FrameworkChoosing a Javascript Framework
Choosing a Javascript Framework
 
Giving a URL to All Objects using Beacons²
Giving a URL to All Objects using Beacons²Giving a URL to All Objects using Beacons²
Giving a URL to All Objects using Beacons²
 
Trademarks and Your Free and Open Source Software Project
Trademarks and Your Free and Open Source Software ProjectTrademarks and Your Free and Open Source Software Project
Trademarks and Your Free and Open Source Software Project
 
The Gurubox Project: Open Source Troubleshooting Tools
The Gurubox Project: Open Source Troubleshooting ToolsThe Gurubox Project: Open Source Troubleshooting Tools
The Gurubox Project: Open Source Troubleshooting Tools
 
Building the iRODS Consortium
Building the iRODS ConsortiumBuilding the iRODS Consortium
Building the iRODS Consortium
 
Marketing is not all fluff; engineering is not all math
Marketing is not all fluff; engineering is not all mathMarketing is not all fluff; engineering is not all math
Marketing is not all fluff; engineering is not all math
 
Ansible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and CountingAnsible - 1,000,000 Downloads and Counting
Ansible - 1,000,000 Downloads and Counting
 
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
The Anti-Henry Ford: How 200 hour discoveries revolutionized the way we do bu...
 
Open Source in Healthcare
Open Source in HealthcareOpen Source in Healthcare
Open Source in Healthcare
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By Design
 
JavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware PrototypingJavaScript and Internet Controlled Hardware Prototyping
JavaScript and Internet Controlled Hardware Prototyping
 
Great Artists (Designers) Steal
Great Artists (Designers) StealGreat Artists (Designers) Steal
Great Artists (Designers) Steal
 
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP AnywayI Know It Was MEAN, But I Cut the Cord to LAMP Anyway
I Know It Was MEAN, But I Cut the Cord to LAMP Anyway
 
Software Development as a Civic Service
Software Development as a Civic ServiceSoftware Development as a Civic Service
Software Development as a Civic Service
 
Version Control and Git - GitHub Workshop
Version Control and Git - GitHub WorkshopVersion Control and Git - GitHub Workshop
Version Control and Git - GitHub Workshop
 

Similar to Battle of the Stacks

ChefConf 2012 Spiceweasel
ChefConf 2012 SpiceweaselChefConf 2012 Spiceweasel
ChefConf 2012 SpiceweaselMatt Ray
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introductionAdam Lowry
 
"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)Pierre Lindenbaum
 
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)Konrad Malawski
 
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRubyDeploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRubyJoe Kutner
 
Stop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryStop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryBrian Hogan
 
Rugged Driven Development with Gauntlt
Rugged Driven Development with GauntltRugged Driven Development with Gauntlt
Rugged Driven Development with GauntltJames Wickett
 
Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트)
Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트) Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트)
Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트) Channy Yun
 
What is Rack Hijacking API
What is Rack Hijacking APIWhat is Rack Hijacking API
What is Rack Hijacking APINomo Kiyoshi
 
Torquebox OSCON Java 2011
Torquebox OSCON Java 2011Torquebox OSCON Java 2011
Torquebox OSCON Java 2011tobiascrawley
 
Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web ApplicationsJoe Kutner
 
Greyhound - Powerful Functional Kafka Library - Devtalks reimagined
Greyhound - Powerful Functional Kafka Library - Devtalks reimaginedGreyhound - Powerful Functional Kafka Library - Devtalks reimagined
Greyhound - Powerful Functional Kafka Library - Devtalks reimaginedNatan Silnitsky
 
Beware the potholes on the road to serverless
Beware the potholes on the road to serverlessBeware the potholes on the road to serverless
Beware the potholes on the road to serverlessYan Cui
 
Using ArcGIS Server with Ruby on Rails
Using ArcGIS Server with Ruby on RailsUsing ArcGIS Server with Ruby on Rails
Using ArcGIS Server with Ruby on RailsDave Bouwman
 
Event Streaming with Kafka Streams, Spring Kafka and Actuator
Event Streaming with Kafka Streams, Spring Kafka and ActuatorEvent Streaming with Kafka Streams, Spring Kafka and Actuator
Event Streaming with Kafka Streams, Spring Kafka and Actuatorconfluent
 
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...Puppet
 
Infrastructure Fuzzing
Infrastructure FuzzingInfrastructure Fuzzing
Infrastructure FuzzingSalo Shp
 

Similar to Battle of the Stacks (20)

Transforming WebSockets
Transforming WebSocketsTransforming WebSockets
Transforming WebSockets
 
ChefConf 2012 Spiceweasel
ChefConf 2012 SpiceweaselChefConf 2012 Spiceweasel
ChefConf 2012 Spiceweasel
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introduction
 
"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)"Mon make à moi", (tout sauf Galaxy)
"Mon make à moi", (tout sauf Galaxy)
 
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
 
20190705 py data_paris_meetup
20190705 py data_paris_meetup20190705 py data_paris_meetup
20190705 py data_paris_meetup
 
Deploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRubyDeploy, Scale and Sleep at Night with JRuby
Deploy, Scale and Sleep at Night with JRuby
 
Stop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryStop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard Library
 
Rugged Driven Development with Gauntlt
Rugged Driven Development with GauntltRugged Driven Development with Gauntlt
Rugged Driven Development with Gauntlt
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트)
Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트) Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트)
Kubernates를 위한 Chaos Engineering in Action :: 윤석찬 (AWS 테크에반젤리스트)
 
What is Rack Hijacking API
What is Rack Hijacking APIWhat is Rack Hijacking API
What is Rack Hijacking API
 
Torquebox OSCON Java 2011
Torquebox OSCON Java 2011Torquebox OSCON Java 2011
Torquebox OSCON Java 2011
 
Deploying JRuby Web Applications
Deploying JRuby Web ApplicationsDeploying JRuby Web Applications
Deploying JRuby Web Applications
 
Greyhound - Powerful Functional Kafka Library - Devtalks reimagined
Greyhound - Powerful Functional Kafka Library - Devtalks reimaginedGreyhound - Powerful Functional Kafka Library - Devtalks reimagined
Greyhound - Powerful Functional Kafka Library - Devtalks reimagined
 
Beware the potholes on the road to serverless
Beware the potholes on the road to serverlessBeware the potholes on the road to serverless
Beware the potholes on the road to serverless
 
Using ArcGIS Server with Ruby on Rails
Using ArcGIS Server with Ruby on RailsUsing ArcGIS Server with Ruby on Rails
Using ArcGIS Server with Ruby on Rails
 
Event Streaming with Kafka Streams, Spring Kafka and Actuator
Event Streaming with Kafka Streams, Spring Kafka and ActuatorEvent Streaming with Kafka Streams, Spring Kafka and Actuator
Event Streaming with Kafka Streams, Spring Kafka and Actuator
 
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
 
Infrastructure Fuzzing
Infrastructure FuzzingInfrastructure Fuzzing
Infrastructure Fuzzing
 

More from All Things Open

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityAll Things Open
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best PracticesAll Things Open
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public PolicyAll Things Open
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...All Things Open
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashAll Things Open
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptAll Things Open
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?All Things Open
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractAll Things Open
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlowAll Things Open
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and SuccessAll Things Open
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with BackgroundAll Things Open
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblyAll Things Open
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksAll Things Open
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptAll Things Open
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramAll Things Open
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceAll Things Open
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamAll Things Open
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in controlAll Things Open
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsAll Things Open
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...All Things Open
 

More from All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
 

Recently uploaded

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Recently uploaded (20)

DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

Battle of the Stacks

  • 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 Image by K.G.23 https://www.flickr.com/photos/kg-23/12846731134
  • 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. Performance means speed and reliability Image by cle0patra https://www.flickr.com/photos/cle0patra/
  • 5. More hardware Image by S Jones https://www.flickr.com/photos/pixeljones/
  • 6. The Setup Image by afromusing https://www.flickr.com/photos/afropicmusing/
  • 7. LAMP Stack Image by Cosmopolitan of Las Vegas https://www.flickr.com/photos/thecosmopolitan/
  • 8.
  • 9.
  • 10. Prefork! vs! Worker! vs! Event Image by Allen McGregor https://www.flickr.com/photos/allenmcgregor/
  • 11. LAMP Stack! Apache 2.4 Prefork Image by Peter Miller https://www.flickr.com/photos/pmillera4/
  • 12.
  • 13. MaxRequestWorkers = 512MB / 22.5MB! ~23 MaxRequestWorkers
  • 14.
  • 15. LAMP Stack! Apache 2.2 Prefork Image by Nerissa Villas https://www.flickr.com/photos/envypictures/
  • 16.
  • 17. MaxClients = 512MB / 13MB! ! ~28 MaxClients
  • 18.
  • 19. LAMP Stack! Apache 2.4 Worker +! PHP-FPM Image by Image by Peter Miller https://www.flickr.com/photos/sumaryanto-bronto/
  • 20.
  • 21. MaxRequestWorkers = 512MB / 8MB! ~64 MaxRequestWorkers
  • 22.
  • 23. LAMP Stack! Apache 2.4 Event +! PHP-FPM Image by Arne Halvorsen https://www.flickr.com/photos/arne-halvorsen/
  • 24.
  • 25. MaxRequestWorkers = 512MB / 4MB! ! ~128 MaxRequestWorkers
  • 26.
  • 27. LEMP Stack Image by Christa Lohman https://www.flickr.com/photos/chloeloe/
  • 28.
  • 29. HHVM Image by Andrew Siguenza https://www.flickr.com/photos/photo-knight/
  • 30. HHVM + Apache 2.4! HHVM + NGINX Image by Michael Coté https://www.flickr.com/photos/cote/
  • 31.
  • 32.
  • 33. Lighttpd! AKA Lighty Image by JayRaz https://www.flickr.com/photos/shnakepup/
  • 34. Let the battle begin! Image by Paul Kitchener https://www.flickr.com/photos/pmillera4/
  • 35. Each stack gets paired against another stack randomly in a playoff format.! ! Each stack gets a vanilla installation of WordPress to be used as target.! ! Each stack is tested using Loader.io.! ! The stack with better response time moves on 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
  • 36.
  • 37.
  • 38.
  • 39. Apache 2.2 Prefork Apache 2.4 Worker + FPM HHVM + NGINX LAMP Apache 2.4 Event + FPM Lighty + FPM LEMP LAMP Apache 2.4 Prefork HHVM + Apache 2.4 60 clients/60 seconds
  • 40. LAMP Apache 2.2 Prefork! ! Vs.! ! LAMP Apache 2.4 Worker + FPM http://ldr.io/1ogrzVi http://ldr.io/ZI8Sya
  • 41. LAMP Apache 2.4 Worker + FPM LAMP Apache 2.2 Prefork Response time: 163ms Response time: 60ms
  • 42. HHVM + NGINX! ! vs! ! LAMP Apache 2.4 Event + FPM http://ldr.io/ZzETbj http://ldr.io/1nu476f
  • 43. Response time: 32ms Response time: 65ms HHVM + NGINX LAMP Apache 2.4 Event + FPM
  • 44. Lighty + FPM! ! vs! ! LEMP (NGINX + FPM)! http://ldr.io/1ogzbau http://ldr.io/1y3bjqM
  • 45. Response time: 50ms Response time: 44ms Lighty + FPM LEMP (NGINX + FPM)
  • 46. LAMP Apache 2.4 Prefork! ! vs! ! HHVM + Apache 2.4! ! http://ldr.io/1DjdQAj http://ldr.io/ZzKpKX
  • 47. Response time: 82ms Response time: 30ms LAMP Apache 2.4 Prefork HHVM + Apache 2.4
  • 48. LAMP Apache 2.4 Worker + FPM HHVM + NGINX HHVM + Apache 2.4 LEMP 120 clients/60 seconds
  • 49. LAMP Apache 2.4 Worker + FPM! ! vs! ! HHVM + NGINX! ! http://ldr.io/1sRdwW8 http://ldr.io/1nuaKpk
  • 50. Response time: 85ms Response time: 31ms LAMP Apache 2.4 Worker + FPM HHVM + NGINX
  • 51. LEMP! ! vs! ! HHVM + Apache 2.4! ! http://ldr.io/ZzGVbp http://ldr.io/1nuhTWE
  • 52. Response time: 60ms Response time: 29ms LEMP HHVM + Apache 2.4
  • 53. HHVM + NGINX HHVM + APACHE 2.4 480 clients/60 seconds
  • 54. HHVM + NGINX! ! vs! ! HHVM + Apache 2.4! ! http://ldr.io/1ogvD7X http://ldr.io/1ogD7b3
  • 55. Response time: 76ms Response time: 60ms HHVM + NGINX HHVM + Apache 2.4
  • 56. Image by Articularnos.com https://www.flickr.com/photos/articularnos/ Champion of the ! Battle Of The Stacks ATO Edition HHVM + Apache 2.4
  • 57. Image by yamchildht tps://www.flickr.com/photos/yamchild/ Test the limits
  • 58. ! HHVM + Apache 2.4! ! http://ldr.io/1w6dtrZ
  • 59. Response time: 6210ms HHVM + Apache 2.4 Successful responses: 2148 Errors: 8 (0.4%)
  • 60. Key Takeaways Image by János Csongor Kerekes https://www.flickr.com/photos/kjcs/
  • 62. Thanks y’all Image by Trey Ratcliff https://www.flickr.com/photos/stuckincustoms/
  • 63. Get in touch! nic@epiclabs.com! @nicdev! ! Get the slides! https://speakerdeck.com/nicdev Image by Brocco https://www.flickr.com/photos/brocco_lee/