Two major reasons “good enough is good enough”.
One is that tuning one “component” tends to eat the lunch of some other “component” so holistic system tuning is nightmarishly complex unless you can work off a single metric.
Even when you can work off a single metric (very large batch processing for example, is where I wrote a self-tuning, generational, evolution [“survival of the fittest”] style system). They still are a very mixed bag… the stakeholders LOVE and HATE self-tuning systems.
They love the time it saves (read: money) and the results it achieves eventually (given enough time to tune). They love that it impresses upper management and makes them seem very cutting edge, despite it being fairly boring tech.
They hate that the tuning is generally only valid for that exact hardware config, which means putting the software on new much better hardware generally means it goes slower for a bit… they hate the nature of self-tuning systems, experimental and not linearly improving… you can have backslides for days or weeks (angry customers, etc).
Beyond all that the configuration of self-tuning systems is often baffling to humans, and takes a ton of effort to unpack and puzzle out why it works… hard to patent, hard to explain, and generally has to be done “in the wild” on your production systems because any even trivial differences between test hardware and production hardware make the training useless.
The one “successful” self-tuning system I shipped – after a few years of working very well was thrown away. They did their best to take the lessons learned from it – they ended up shipping a simpler system that performed about 40% worse – so they just threw 50%+ more raw hardware at it and called it a day and from what I understand are much happier with it.
Very true. A look at my sysctl.conf files in production (freebsd and linux both) yields a bafflingly large variety of nigh inscrutible magic values. Webservers have their own. DBs too. Not to mention the bios.
It’s knobs all the way down!
I’ve been wondering the same thing or years!