continuous benchmarking
TRANSCRIPT
![Page 1: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/1.jpg)
www.parisjug.org
01/05/2023 1Copyright @ 2014 ParisJug. Licence CC - Creative Commons 2.0 France – Paternité - Pas d'Utilisation Commerciale - Partage des Conditions Initiales à l'Identique
![Page 2: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/2.jpg)
Continuous benchmarking
par Khaled HAMLAOUI
201/05/2023
![Page 3: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/3.jpg)
Continuous benchmarking
Au programme…• Continuous benchmarking
– Benchmarking why? How ? …– Tools and methodology– Dashboards example– GitHub project
301/05/2023
![Page 4: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/4.jpg)
Continuous benchmarking
Qui je suis…• Khaled HAMLAOUI
• Description• Technical architect at Amadeus
• https://fr.linkedin.com/in/khaled-hamlaoui-303b4610
• [email protected]/05/2023
![Page 5: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/5.jpg)
Continuous benchmarking
Benchmarking
501/05/2023
![Page 6: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/6.jpg)
Continuous benchmarking
Why BenchmarkingAnticipate
601/05/2023
![Page 7: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/7.jpg)
Continuous benchmarking
Benchmarking test types
701/05/2023
![Page 8: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/8.jpg)
Continuous benchmarking
Metrics business / technical
801/05/2023
_Business transaction response time(higher than average + 2 standard deviations => alert)_Throughput_Memory usage_Cpu usage_Garbage collection
![Page 9: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/9.jpg)
Continuous benchmarking
Usual benchmarking life cycle
901/05/2023
![Page 10: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/10.jpg)
Continuous benchmarking
Tools and methodology
1001/05/2023
![Page 11: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/11.jpg)
Continuous benchmarking
Tools and methodology
1101/05/2023
![Page 12: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/12.jpg)
Continuous benchmarking
WireMock
1201/05/2023
• 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
![Page 13: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/13.jpg)
Continuous benchmarking
WireMock / json config
1301/05/2023
![Page 14: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/14.jpg)
Continuous benchmarking
WireMock / java config
1401/05/2023
![Page 15: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/15.jpg)
Continuous benchmarking
WireMock / simulating faults
1501/05/2023
stubFor(get(urlEqualTo("/fault")) .willReturn(aResponse().withFault(Fault.MALFORMED_RESPONSE_CHUNK)));
• EMPTY_RESPONSE
• MALFORMED_RESPONSE_CHUNK
• RANDOM_DATA_THEN_CLOSE
![Page 16: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/16.jpg)
Continuous benchmarking
Gatling and ELK
1601/05/2023
![Page 17: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/17.jpg)
Continuous benchmarking
Gatling logs
1701/05/2023
• Sample galing log:
![Page 18: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/18.jpg)
Continuous benchmarking
Gatling logs
1801/05/2023
![Page 19: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/19.jpg)
Continuous benchmarking
Logstash config for Gatling logs
1901/05/2023
![Page 20: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/20.jpg)
Continuous benchmarking
Logstash config JMX
2001/05/2023
{ "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"] } ]}
![Page 21: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/21.jpg)
Continuous benchmarking
Kibana Dashboards
2101/05/2023
![Page 22: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/22.jpg)
Continuous benchmarking
Kibana dashboard system cpu load
2201/05/2023
![Page 23: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/23.jpg)
Continuous benchmarking
Kibana dashboard duration percentiles
2301/05/2023
![Page 24: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/24.jpg)
Continuous benchmarking
GitHub sample project
https://github.com/khamlaoui/continuous-benchmarking
2401/05/2023
![Page 25: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/25.jpg)
Continuous benchmarking
Conclusion
2501/05/2023
_Continuous benchmarking is possible with low cost
_Anticipate the production possible problem ASAP_WireMock is therefore perfectly suited for
continuous benchmarking
![Page 26: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/26.jpg)
Continuous benchmarking
Questions ?
2601/05/2023
![Page 27: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/27.jpg)
Continuous benchmarking
Merci !
2701/05/2023
![Page 28: Continuous benchmarking](https://reader031.vdocuments.site/reader031/viewer/2022022202/587dd9dd1a28ab5b5b8b6ea3/html5/thumbnails/28.jpg)
Sponsors
2801/05/2023