The thing this most makes me think of is Ottertune, that the Carnegie Mellon DB group came up with several years ago for MySQL, https://github.com/cmu-db/ottertune, and eventually commercialised https://ottertune.com/ for MySQL and Postgres.
I keep thinking about this from a JVM perspective, there's so many settings you can tweak that can have such a drastic impact on performance, depending on your workload, that it seems likely there's some value in automated tuning. The main difficult there (from my probably naive perspective) is figuring out the right feedback loop.
"Generally speaking, the Linux kernel works just fine for most tasks. But, to get the most from it for a particular job, you must fine-tune it by setting its parameters for the best possible results."
Is this really so, apart from edge cases? Because I've rarely encountered that need in my professional career. There are many blogs about how to tune TCP parameters and similar but most of it is more like snake oil and many people seem to agree the kernel ships with sane defaults.
For example "ByteDance is working on tuning Linux memory management": what options are there to tune?
To be fair to them, some Linux defaults are atrocious IMHO.
For example mq-deadline ALWAYS performs badly in desktop tasks. Launching a Steam download alone is enough to kill a Linux machine using that scheduler. Therefore I feel like we need this.
3 comments
[ 3.1 ms ] story [ 10.7 ms ] threadI keep thinking about this from a JVM perspective, there's so many settings you can tweak that can have such a drastic impact on performance, depending on your workload, that it seems likely there's some value in automated tuning. The main difficult there (from my probably naive perspective) is figuring out the right feedback loop.
Is this really so, apart from edge cases? Because I've rarely encountered that need in my professional career. There are many blogs about how to tune TCP parameters and similar but most of it is more like snake oil and many people seem to agree the kernel ships with sane defaults.
For example "ByteDance is working on tuning Linux memory management": what options are there to tune?
For example mq-deadline ALWAYS performs badly in desktop tasks. Launching a Steam download alone is enough to kill a Linux machine using that scheduler. Therefore I feel like we need this.