Successfully reported this slideshow.
Your SlideShare is downloading. ×

Load testing and performance tracing

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 29 Ad

Load testing and performance tracing

Download to read offline

Explaining why you should and how you can test your web application using JMeter test plans to determine the scalability. By knowing how good or bad your application performs you can then make the decision to optimize it.
But where to start optimizing? => You need to profile your application in order to see the components which have the most impact in your application regarding number of method calls, memory consumption and CPU time used.
XHProf is a good hierarchical profiler which you can use to generate the callstack and a callgraph of your application (directed acyclic weighted graph) to see where you could start optimizing your application.
This talk was presented on the TYPO3 DevDays 2015 in Nuremberg.

Explaining why you should and how you can test your web application using JMeter test plans to determine the scalability. By knowing how good or bad your application performs you can then make the decision to optimize it.
But where to start optimizing? => You need to profile your application in order to see the components which have the most impact in your application regarding number of method calls, memory consumption and CPU time used.
XHProf is a good hierarchical profiler which you can use to generate the callstack and a callgraph of your application (directed acyclic weighted graph) to see where you could start optimizing your application.
This talk was presented on the TYPO3 DevDays 2015 in Nuremberg.

Advertisement
Advertisement

More Related Content

Slideshows for you (19)

Similar to Load testing and performance tracing (20)

Advertisement

Recently uploaded (20)

Load testing and performance tracing

  1. 1. Load testing and performance tracing
  2. 2. My Name is Hans Höchtl Technical director @ Onedrop Solutions PHP, Java, Ruby Developer Participation in TYPO3 Solr
  3. 3. Load testing Determining the maximum operating capacity of an application.
  4. 4. Why? - Properly scale your system - Analyze QoS performance - Identify bottlenecks - Check reliability - Verify SLA
  5. 5. How? - Have a lot of friends - Have a lot of employees - Pay people - Use proper software solution
  6. 6. Apache JMeter - Open source java tool (therefore platform idependent) - Can analyze any kind of web application (or native software) - Easy configurable tests and graphs - Supports external data sources for serving test data - Scales
  7. 7. Let’s look into test plans
  8. 8. JMeter master-slave - Uses RMI - Use the same network subnet or a proxy - Use SSH portforwarding - If you configure live results, network bandwidth will be heavy
  9. 9. Blazemeter - SaaS solution to run JMeter tests at scale - Can use AWS, Google Cloud, your own machines (reduces configuration overhead for RMI) - Integrates with CI tools => measure performance increase/decrease before a release
  10. 10. Blazemeter - SaaS solution to run JMeter tests at scale - Can use AWS, Google Cloud, your own machines (reduces configuration overhead for RMI) - Integrates with CI tools => measure performance increase/decrease before a release
  11. 11. Oh btw, don’t use it for DDoS
  12. 12. Now we know how our system performs. But where to start optimizing?
  13. 13. Profiling Measure the memory usage, complexity of a program, the usage of particular instructions and the frequency and duration of function calls.
  14. 14. Performance lifecycle Profiling Changes Load Testing
  15. 15. Application stack CPU Memory Harddisk Network OS Webserver Script Interpreter Database PHP framework Your application
  16. 16. Profiling PHP applications
 - Free tools - Xdebug + Webgrind - XHProf + XHGUI - Commercial tools - Newrelic - Blackfire.IO
  17. 17. Setting up XHProf and profiling an application
  18. 18. Analyzing the callgraph
 - Look at the excl. wall time - Identify database heavy components - Check call path for IO operations
  19. 19. Optimizing your application
 - Use „more“ hardware - SSD instead of HDD - Proper caching - Caching backend (Redis) - Cacheable output? - OpCode Cache + APCu!!! - Reduce/optimize queries
  20. 20. Optimizing your software
 - Beware of swap - Update/Upgrade - Optimize database - Use alternatives (Nginx, MariaDB, HipHop)
  21. 21. http://wiki.dreamhost.com/ Web_Server_Performance_Comparison
  22. 22. https://entwickler.de/online/php-5-6-und-noch-mehr- performance-139204.html
  23. 23. https://www.zend.com/en/resources/php7_infographic
  24. 24. https://blog.mariadb.org/performance-evaluation-of- mariadb-10-1-and-mysql-5-7-4-labs-tplc/
  25. 25. Optimizing your database
 - Inform yourself (book, webinar, etc.) - Use the percona toolkit - Mount your database in memory (just kidding) - If on a different host, check latency - Persistent connection?
  26. 26. Frontend performance - pagespeed - defer loading - image optimization - concat, compress, etc. - http://www.smashingmagazine.com/ 2014/09/08/improving-smashing- magazine-performance-case-study/
  27. 27. - https://blog.engineyard.com/2014/ profiling-with-xhprof-xhgui-part-1 - https://blackfire.io/ - http://www.oreilly.de/catalog/ hpmysqlger/ - https://www.percona.com/software/ percona-toolkit
  28. 28. Thank you Mail: hhoechtl@1drop.de or jhoechtl@gmail.com
 Twitter: @hhoechtl
 Blog: http://blog.1drop.de

×