Every so often, you will read a performance benchmark (of a Java or other language application), with bold claims for how well X performs compared to Y. Testing the performance of your Java application is more an art form rather than engineering, and is a minefield of misconceptions, misunderstanding, and misinformation. This presentation reviews the basics of performance testing and give you concrete steps to build a robust performance testbed for your application. We will be looking at this from a real-world server-side application point of view, specifically for Java apps. The presenter reviews the common problems of performance testing and how to avoid them. This video covers these topics while building up a performance test and running it live:
- Define your goals: SLA, latency, throughput, stability
- Test env vs. Production env for testing
- The impact of GC on Java app performance
- Tools for setting up, driving load, and getting performance test results
- Testing application infrastructure like Kafka, Spark and Cassandra
- Operating system settings, JVM settings, memory sizing, and CPU sizing
- Analyzing performance test results and finding bottlenecks that are both apparent and not obvious
Video producer: https://www.jfokus.com
Pingback: Software Development Linkopedia April 2023 (agile, Devops)