-
Notifications
You must be signed in to change notification settings - Fork 3
Home
Groningen automatically tunes Java virtual machine garbage collector settings for your production cloud based service. There is a console that displays the best performing experimental tasks' JVM GC settings as they evolve.
So you don't have to tune your JVM GC settings :) Just run Groningen and then look at the console when you want to tweak your GC settings. It will tell you what are the best performing settings based on experiments in production. For example, users have saved 1TB RAM (1/3 of footprint) and 2 full-time-engineers-months of effort to find low-latency settings.
Groningen uses a generational genetic algorithm to produce sets of modified JVM settings. It takes these settings and runs a bunch of experimental tasks in production for a specified duration.
Groningen does these things after the end of the experiment:
- parses the experimental tasks' GC logs
- scores each task in the experiment
- generates the next generation of experimental tasks
- ... In this way, Groningen evolves a population of experimental tasks in production under real front end load to find the most fit JVM settings.
Console
This is a screenshot of the Groningen console: