Every so often, you’ll read a performance benchmark (of a Java or other application), with bold claims for how well X performs compared to Y. Testing the performance of your Java application is an artform rather than engineering, and is a minefield of misconceptions, misunderstanding, and misinformation. In this session, we will review the basics 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. We’ll review common problems and how to avoid them. We’ll cover 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 perf test results Testing application infrastructure like Kafka, Spark and CassandraOperating system settings, JVM settings, memory sizing, and CPU sizing Analyzing perf test results and finding bottlenecks that are both apparent and not obvious
Interview:
Speaker
Pratik Patel
Java Champion & developer advocate @Azul Systems
Pratik Patel is a Java Champion and developer advocate at Azul Systems. He wrote the first book on 'enterprise Java' in 1996, "Java Database Programming with JDBC." An all around software and hardware enthusiast with experience in the healthcare, telecom, financial services, and startup sectors. Helps to organize the Atlanta Java User Group, frequent speaker at tech events, and master builder of nachos.