Как вычислить max_connections для PostgreSQL и default_pool_size для pgbouncer?

Я не уверен, как можно достигнуть этой программы использования, но в Пользователе Active Directory и Компьютерах. Выберите Пользователя и перейдите к свойствам. Существует Опция опции "User can not change password".

Можно также проверить следующий URL, если это помогло бы:

http://msdn.microsoft.com/en-us/library/ms680832 (По сравнению с 85) .aspx

17
задан 25 February 2013 в 17:50
2 ответа

Сначала, пожалуйста, прочтите наш канонический вопрос о планировании емкости .
Конкретный совет, который вы просите, - это совет по планированию емкости, и вы получите чтобы решить это самостоятельно, для вашей конкретной среды.

Во-вторых, вы неправильно смотрите на это.
Объем памяти (или любого другого ресурса), который у вас есть, не определяет количество установленных вами подключений, количество подключений, которые вам необходимо , определяет, насколько мощный сервер вы должны приобрести.
Требования к ресурсам для каждого соединения подробно описаны в руководстве , а также обсуждаются в Wiki, на которую вы ссылаетесь. Выясните, что нужно вашей среде (или сделайте обоснованное предположение), и убедитесь, что оборудование, на котором вы собираетесь работать, может справиться с тем, что вы собираетесь на него бросить.


В частности, в отношении ограничений на количество подключений и размера пула, вы должны иметь «достаточно» соединений для удовлетворения требований вашего приложения - либо на одном сервере, либо через пул / баунсер.

«Достаточно» - это относительное число: приложение, которое создает (и постоянно повторно использует) одно соединение, требует только одно соединение. Приложение, которое устанавливает соединение для каждого входящего в систему конечного пользователя, требует столько соединений с БД, сколько у него пользователей. Разработчикам, вероятно, не понадобится больше 10. Любой другой будет знать достаточно, чтобы увеличить это число.

  • 20 подключений из pgbouncer на пул БД означают, что вы можете получить 4 пула, указывающих на один сервер, и не перегружать ограничение количества подключений Postgres по умолчанию.
    Можно иметь несколько объединенных ресурсов в pgbouncer , указывающих на одну внутреннюю базу данных, и вам всегда нужны некоторые доступные соединения на ваших внутренних серверах.

  • Если значения по умолчанию не подходят для вашей среды, вы должны их изменить.

    Помните, что объединенные соединения не означают «всегда связывать каждое доступное соединение с базой данных».
    Как вы заметили, суть pgbouncer заключается в том, чтобы повторно использовать соединения. Повышение эффективности здесь не требует, чтобы вы связали каждое доступное соединение, просто вы не должны отключать, повторно подключаться, повторно согласовывать SSL, повторно аутентифицироваться в базе данных и повторно запускать запросы настройки подключения каждый раз.

    12
    ответ дан 2 December 2019 в 20:32

    Обратите внимание на определение в документации default_pool_size

    Сколько серверных подключений разрешить для каждой пары пользователь / база данных.

    Итак, если конфигурация по умолчанию - размер пула 20, из 100 подключений, это означает, что 5 различных пар пользователь / база данных должны будут максимально увеличить размер своего пула, прежде чем они достигнут общего лимита. И наоборот, если, например, вы используете pgbouncer для маршрутизации к одной базе данных через одного пользователя, ваше эффективное ограничение на количество подключений составляет 20, а не 100, поэтому вы должны соответственно установить размер пула для этого варианта использования. YMMV.

    1
    ответ дан 2 December 2019 в 20:32

    Теги

    Похожие вопросы