Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Load testing of PHP
apps
Roman Sevastyanov
Roman Sevastyanov
Worked with: Paymentwall, Float, Hell Yeah LLC, Pizdata Inc;
Email: roman@sevastyanov.io
Twitter: @romas...
Before we start, let’s check what
Wikipedia say?
Load testing is the process of putting demand on a software system or com...
Load testing
Load testing implies a controlled
environment moving from low loads to
high. Stress testing focuses on more
r...
Stress testing tries to break the system under
test by overwhelming its resources or by taking
resources away from it (in ...
Main Load Testing goals
● Know your app “user capacity”
● When, How and What expand
● Find bottlenecks in an application
Load testing isn’t depending
on your tech stack.
Load Testing types
● Real users
○ Marketing campaign
○ Web notifications
○ Your app gone viral
Virtual “users”
Load testin...
Best Practices
Create realistic tests
Know the difference between
measured speed
and
perceived performance
Correlate performance issues
to underlying problems
Set a baseline for user
experience
Make performance testing
part of agile development
Load Testing Tools
JMeter
JMeter is an open-source load testing tool,
written in Java. It's capable of testing a number
of different server t...
JMeter
Siege - your command line friend
Why Siege?
● Simple
● Developer Friendly
● Tiny
Website: https://www.joedog.org/siege-
Other tools
● Grinder - http://grinder.sourceforge.net/
● Pylot - https://qatestingtools.com/testing-
tool/pylot
Cloud Tools
● Flood - https://flood.io/
● Loader - https://loader.io/
● Loadimpact - https://loadimpact.com/
Examples
Hello world Laravel app
Tech stack:
PHP 7.1
MySQL
VPS: 4 ARM 64bit Cores, 2GB Memory
Command Line
Siege
Cloud Based
Flood.io
Links or what to read/watch?● https://ruhighload.com/post/%D0%A1%D1%82%D1%80%D0%B5%D1%81%D1%81-
%D1%82%D0%B5%D1%81%D1%82%D...
Feel free to reach me out
Email: roman@sevastyanov.io
Twitter: @romasevastyanov
Facebook: fb.com/sevastyanovio
Load testing of PHP apps
Load testing of PHP apps
Load testing of PHP apps
Upcoming SlideShare
Loading in …5
×

Load testing of PHP apps

364 views

Published on

Load testing of PHP apps

Published in: Software
  • Be the first to comment

Load testing of PHP apps

  1. 1. Load testing of PHP apps Roman Sevastyanov
  2. 2. Roman Sevastyanov Worked with: Paymentwall, Float, Hell Yeah LLC, Pizdata Inc; Email: roman@sevastyanov.io Twitter: @romasevastyanov Facebook: fb.com/sevastyanovio Who am I?
  3. 3. Before we start, let’s check what Wikipedia say? Load testing is the process of putting demand on a software system or computing device and measuring its response. Load testing is performed to determine a system's behavior under both normal and anticipated peak load conditions. It helps to identify the maximum operating capacity of an application as well as any bottlenecks and determine which element is causing degradation. When the load placed on the system is raised beyond normal usage patterns to test the system's response at unusually high or peak loads, it is known as stress testing. The load is usually so great that error conditions are the expected result, but there is no clear boundary when an activity ceases to be a load test and becomes a stress test.
  4. 4. Load testing Load testing implies a controlled environment moving from low loads to high. Stress testing focuses on more random events, chaos and unpredictability.
  5. 5. Stress testing tries to break the system under test by overwhelming its resources or by taking resources away from it (in which case it is sometimes called negative testing). The main purpose of this process is to make sure that the system fails and recovers gracefully — a quality known as recoverability. Stress testing
  6. 6. Main Load Testing goals ● Know your app “user capacity” ● When, How and What expand ● Find bottlenecks in an application
  7. 7. Load testing isn’t depending on your tech stack.
  8. 8. Load Testing types ● Real users ○ Marketing campaign ○ Web notifications ○ Your app gone viral Virtual “users” Load testing tools DDOS
  9. 9. Best Practices
  10. 10. Create realistic tests
  11. 11. Know the difference between measured speed and perceived performance
  12. 12. Correlate performance issues to underlying problems
  13. 13. Set a baseline for user experience
  14. 14. Make performance testing part of agile development
  15. 15. Load Testing Tools
  16. 16. JMeter JMeter is an open-source load testing tool, written in Java. It's capable of testing a number of different server types (for example, web, web services, database, just about anything that uses requests basically). Website: jmeter.apache.org
  17. 17. JMeter
  18. 18. Siege - your command line friend Why Siege? ● Simple ● Developer Friendly ● Tiny Website: https://www.joedog.org/siege-
  19. 19. Other tools ● Grinder - http://grinder.sourceforge.net/ ● Pylot - https://qatestingtools.com/testing- tool/pylot
  20. 20. Cloud Tools ● Flood - https://flood.io/ ● Loader - https://loader.io/ ● Loadimpact - https://loadimpact.com/
  21. 21. Examples
  22. 22. Hello world Laravel app Tech stack: PHP 7.1 MySQL VPS: 4 ARM 64bit Cores, 2GB Memory
  23. 23. Command Line Siege
  24. 24. Cloud Based Flood.io
  25. 25. Links or what to read/watch?● https://ruhighload.com/post/%D0%A1%D1%82%D1%80%D0%B5%D1%81%D1%81- %D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+ %D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BE%D0%B2+%D1%81+%D0%BF%D0%BE%D0%B C%D0%BE%D1%89%D1%8C%D1%8E+stress-ng ● https://en.wikipedia.org/wiki/Load_testing ● https://stackoverflow.com/questions/7492/performing-a-stress-test-on-web-application ● https://www.youtube.com/watch?v=k9dtjsLi9Lw ● https://ruhighload.com/post/%D0%A2%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0% D0%BD%D0%B8%D0%B5+%D0%BD%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B8+%D0%B D%D0%B0+%D1%81%D0%B0%D0%B9%D1%82 ● https://techbeacon.com/5-best-practices-realistic-performance-testing ● https://www.youtube.com/watch?v=8NLeq-QxkSw ● https://www.blazemeter.com/blog/open-source-load-testing-tools-which-one-should-you-use ● https://en.wikipedia.org/wiki/Stress_testing_(software) ● https://drupalize.me/blog/201507/load-testing-your-site-siege ● http://floodio.tv/video/228030011
  26. 26. Feel free to reach me out Email: roman@sevastyanov.io Twitter: @romasevastyanov Facebook: fb.com/sevastyanovio

×