This is not an easy to do. The tunings are so application and architectural specific it’s very hard to find a one size fits all (really, this is what OTP does a really good job of with the default settings).
What’s more, it’s often not a matter of turning some dials and calling it a day, usually it’s turn some knobs and closely monitor for a long time. To make matters more complicated, the tunings will change over time as your application and architecture evolves.
That said, I do think a general purpose VM tuning guide would be great. Whether it lives in OTP or not is another matter, I would think we would want it to live in OTP, but have to consider that the OTP has to maintain it and deal with issues people open as a result of it.
Interestingly, I recently had the idea of a “profile” concept. This might look like a kernel arg where you pass in a profile name. As with other things that offer similar functionality, it would be a starting point, no doubt you’d have to start with a profile, then adjust with overrides to get to your sweet spot. Such a feature once again could live inside OTP or it could be lib or simply a set of markdown files that instructs on how what specific settings to go with for your base configuration.
I know none of these are the answers you were looking for, but this has been on my brain quite a bit and I think could turn into a very interesting thread.
Finally, you can refer to other VM tuning guides others have put out there to give you some ideas. First ones that come to mind are riak, rabbitmq, and vernemq tuning guides, they have helped me some in the past. Of course those are recommendations based on how their app(s) work and how you might setup an architecture for it all. As an example, some of these guides recommend a very big dist busy buf limit, while I know in some other places small as possible is key.
Useless banter :
I’ve said in the past and perhaps recently, that tuning the VM is like dialing in a good tone on a a dual mesa boogie rectifier. It’s not a walk in the park, but in the end you arrive at balance (a lagom of settings) and often not where you expected you’d arrive (counter intuitiveness often wins), but you walk away with a good tone and an arsenal of knowledge about how it all works