Giovanni Paolo GIBILISCO
Continuous Performance Optimization of Java Applications
If you have ever raised a JVM Heap size in production to cope with unexpected Out of Memory errors or huge garbage collection time, please raise your hand. Best practices tell us to anticipate these kinds of situations in order to reduce user impact, find better solutions and reduce operational efforts but reality says that it’s damn hard to assess application performance during performance tests and optimize the application for speed, reliability or cost-effectiveness. Who has been there, knows that it’s even harder to find a smarter solution than just “increase the heap” or “buy a bigger engine”. A single JVM today has more than 800 options that can be set: how can you find the best settings?
In this talk we explore the wide range of benefits offered by shifting performance testing and optimization practices closer to the development, leveraging DevOps practices of integrating configuration management in the CI pipeline and introducing Artificial Intelligence to achieve Continuous Optimization.
We will share a real use case where this approach enabled unprecedented levels of performance optimization by evaluating different garbage collectors and other JVM options to get the best performance for each workload, improving both application throughput and resiliency to withstand traffic peaks with no downtime.
About Giovanni Paolo
After a few years participating in performance engineering activities for major Italian and European companies, Giovanni took the role of Head of Engineering at Akamas, a company dedicated to automating Performance Testing and tuning of IT stacks in order to enable Continuous Optimization.
Giovanni holds a Ph.D. in Computer Science with a focus on Software Engineering from Politecnico di Milano, in Italy. He obtained his Master’s Degree both in Politecnico di Milano and the University of Illinois at Chicago. Since he started working in the Performance area he took part in many testing and monitoring projects working with a wide variety of technologies. When he is not optimizing something he can be found on basketball courts or in hiking in the Alps.