Таким образом, мой Пассажир вращает 5 экземпляров моего приложения для направляющих
Я соединяюсь с MongoDB с помощью Connection.new ("localhost", 3000: pool_size => 1: тайм-аут => 5)
Почему мне был бы нужен "пул соединений", если я только подвергаюсь наверху при запуске моего приложения для направляющих, не на запрос? Почему сингл обработал бы потребность больше чем 1 соединение?
И какова цель тайм-аута? Почему я хотел бы соединение с тайм-аутом? Не был должен это быть сохраниться в течение времени жизни процесса направляющих?
Так перепутанный...
Этот вопрос характерен для Ruby и монго, но я предполагаю, что это относится к другим языкам/базам данных.
Вам не нужно использовать пул соединений здесь. Поскольку вы используете Passenger, просто убедитесь, что каждый экземпляр использует отдельное соединение, перехватывая событие start_worker_process. Это задокументировано в драйвере README.
Пул соединений может быть полезен для некоторых многопоточных приложений. pool_size - это максимальное количество параллельных потоков, которые будет обрабатывать соединение, а тайм-аут - это максимальное количество секунд, в течение которых поток может ждать доступного сокета, прежде чем будет создано исключение.