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.

Continuous benchmarking

307 views

Published on

Continuous benchmarking with gatling, ELK and Docker

Published in: Software
  • Be the first to comment

  • Be the first to like this

Continuous benchmarking

  1. 1. www.parisjug.org 12/01/2017 1 Copyright @ 2014 ParisJug. Licence CC - Creative Commons 2.0 France – Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique
  2. 2. Continuous benchmarking par Khaled HAMLAOUI 212/01/2017
  3. 3. Continuous benchmarking Au programme… • Continuous benchmarking – Benchmarking why? How ? … – Tools and methodology – Dashboards example – GitHub project 312/01/2017
  4. 4. Continuous benchmarking Qui je suis… • Khaled HAMLAOUI • Description • Technical architect at Amadeus • https://fr.linkedin.com/in/khaled-hamlaoui- 303b4610 • Hamlaoui.khaled@gmail.com 412/01/2017
  5. 5. Continuous benchmarking Benchmarking 512/01/2017
  6. 6. Continuous benchmarking Why Benchmarking Anticipate 612/01/2017
  7. 7. Continuous benchmarking Benchmarking test types 712/01/2017
  8. 8. Continuous benchmarking Metrics business / technical 812/01/2017 _Business transaction response time (higher than average + 2 standard deviations => alert) _Throughput _Memory usage _Cpu usage _Garbage collection
  9. 9. Continuous benchmarking Usual benchmarking life cycle 912/01/2017
  10. 10. Continuous benchmarking Tools and methodology 1012/01/2017
  11. 11. Continuous benchmarking Tools and methodology 1112/01/2017
  12. 12. Continuous benchmarking WireMock 1212/01/2017 • Simulator for http-based APIs (mock server) • Powerful request Matching (URL, HTTP Method, Query parameters Headers, Basic authentication (a special case of header matching)) • Record and Playback • Proxy mode • Config with java or json
  13. 13. Continuous benchmarking WireMock / json config 1312/01/2017
  14. 14. Continuous benchmarking WireMock / java config 1412/01/2017
  15. 15. Continuous benchmarking WireMock / simulating faults 1512/01/2017 stubFor(get(urlEqualTo("/fault")) .willReturn(aResponse().withFault(Fault.MALFORMED_RESPONSE_CHUNK))); • EMPTY_RESPONSE • MALFORMED_RESPONSE_CHUNK • RANDOM_DATA_THEN_CLOSE
  16. 16. Continuous benchmarking Gatling and ELK 1612/01/2017
  17. 17. Continuous benchmarking Gatling logs 1712/01/2017 • Sample galing log:
  18. 18. Continuous benchmarking Gatling logs 1812/01/2017
  19. 19. Continuous benchmarking Logstash config for Gatling logs 1912/01/2017
  20. 20. Continuous benchmarking Logstash config JMX 2012/01/2017 { "host" : "host", "port" : port, "url" : "service:jmx:rmi:///jndi/rmi://host:port/jmxrmi", "alias" : « server_jvm", "queries" : [ { "object_name" : "java.lang:type=Memory", "object_alias" : "Memory", "attributes" : ["HeapMemoryUsage","NonHeapMemoryUsage"] }, { "object_name" : "java.lang:type=OperatingSystem", "object_alias" : "OperatingSystem", "attributes" : ["SystemCpuLoad"] } ] }
  21. 21. Continuous benchmarking Kibana Dashboards 2112/01/2017
  22. 22. Continuous benchmarking Kibana dashboard system cpu load 2212/01/2017
  23. 23. Continuous benchmarking Kibana dashboard duration percentiles 2312/01/2017
  24. 24. Continuous benchmarking GitHub sample project https://github.com/khamlaoui/continuous- benchmarking 2412/01/2017
  25. 25. Continuous benchmarking Conclusion 2512/01/2017 _Continuous benchmarking is possible with low cost _Anticipate the production possible problem ASAP _WireMock is therefore perfectly suited for continuous benchmarking
  26. 26. Continuous benchmarking Questions ? 2612/01/2017
  27. 27. Continuous benchmarking Merci ! 2712/01/2017
  28. 28. Sponsors 2812/01/2017

×