Я заметил, что размер пула по умолчанию для приложения Rails 5, использующего Puma, равен:
<%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
Это означает, что вы можете установить максимальное количество потоков в качестве переменной среды или по умолчанию будет 5 подключений к базе данных.
Я видел некоторые приложения, которые используют около 600 в качестве ограничения для пула соединений, что заставляет меня думать, что оно действительно не связано с потоками, но, похоже, оно используется для поддержания производительности на зеленом уровне.
Какова логика определения максимального количества потоков, связано ли это с архитектурой процессора?
Полностью ли пул подключений к базе данных зависит от потоков, или я могу сохранить некоторую гибкость при большой загрузке пользователей (около 20 000)?