Java is slow: CodeCache edition

Day 2 /  / Track 3  /  RU / For practicing engineers

It has never been like this and now it is exactly the same again: production crashes! Or just runs slow.

"Did you change anything?"

"No, we didn't".

"Did it function properly before?"

"Yes, it did".

How we're supposed to analyse this?

And if we got cluster and the second node generally runs slower than the rest?

Experience has shown that JIT compiler is to blame for everything (just joking). But JIT compiler could actually do its job in a different manner, and your application would run slow after a simple reboot.

In this talk, we'll discuss how to manage JIT compiler's actions and how to analyse cases when something goes wrong (obtain core dumps, write patches with OpenJDK, etc.).

Vladimir Sitnikov

Vladimir has been working on performance and scalability of NetCracker platform (a software used by telecom operators for automatization of network management processes and network equipment) for ten years. His focus is Java and Oracle Database performance optimisations. Vladimir is an author of more than a dozen of performance improvements in the official PostgreSQL JDBC driver.