Are there any best practices(standard configuration documents/articles) for OS/VM?

Are there any best practices(standard configuration documents/articles) for Linux /ErlangVM? As I’m an elixir user, documents for elixir would be better.

Since the Linux/ErlangVM parameters in default are not good enough in the point of view of using the resources effectively. For example:

  • OS: net.core.somaxconn = 128
  • OS: net.ipv4.tcp_max_syn_backlog = 512
  • OS: ulimit -n = 1024
  • Cowboy: max_connections = 1024
  • Erlang: max process num(ELIXIR_ERL_OPTIONS ?) = ?

Almost all users should require to raise such values that I think there should be some documents which describe the standard parameters, but I could find nothing. Could you point me some documents which depict which parameters and how general Erlang/Elixir users increase/adjust?

What I require is not the ones for any specific, very high load environments, but the standard ones regular users naturally set parameters. For example, even in a low/moderate load environment, you should increase the somaxconn to a higher value). in short, I want to know best practices.

6 Likes

One resource you might look at is the Erlang in Anger book. It’s not quite as explicit as what I think you’re looking for, but does make some good points about tailoring your OS configuration fo Erlang applications.

2 Likes

easco,
Thank you for your reply. Erlang in Anger is a remarkable book, but unfortunately, it is too advanced compared with the ones I’m looking for. In fact, I’m one of the translators of Erlang in Anger Japanese version, I’ve ever read it.