Что ограничивает количество соединений?

17

Согласно https://devcenter.heroku.com/articles/heroku-postgres-legacy-plans ограничение соединения составляет 500

Согласно https://wiki.postgresql.org/wiki/Tuning_Your_PostgreSQL_Server «Обычно PostgreSQL на хорошем оборудовании может поддерживать несколько сотен соединений»

Каковы определяющие факторы в этом пределе? # Ядра ЦПУ? ОЗУ? ОПЕРАЦИОННЫЕ СИСТЕМЫ?

Нил Макгиган
источник

Ответы:

16

Прежде всего, GUC max_connections- это настройка в postgresql.conf.

Heroku, очевидно, ограничивает это 20 для «уровня стартера» и 500 для «уровня производства».

Максимальное количество не ограничено самим Postgres, но доступно доступными системными ресурсами . Как правило, производительность снижается при слишком большом количестве одновременных подключений, поэтому, даже если вы можете установить max_connections = 1000, это, вероятно, неразумно. Вот блог с инструкциями того, кто это сделал .

Эрвин Брандштеттер
источник
Спасибо Эрвин. Так какие системные ресурсы ограничивают? Звучит как # сердечников и шпинделей. Является ли конкретная ОС лучше других?
Нил Макгиган
@NeilMcGuigan: перейдите по ссылке, в записи блога есть список.
Эрвин Брандштеттер