Если я правильно понимаю, если используется только один экземпляр mongrel, тогда, если вы получите запрос, который занимает некоторое время (например, покупатель в очереди с большим количеством товаров), тогда другие запросы должны ждать в очереди, пока не закончит первый. Таким образом, запуск еще одного беспородного экземпляра открывает еще одну «линию для обслуживания клиентов».
У нас есть команда из 10 человек, которые часто заходят на сайт, который обслуживает дворняга.
Есть ли обратная сторона запуска 10 беспородных инстансов? Для практических целей какая сумма будет хорошей для 10 постоянных пользователей?
Это проксируется через Apache (SSL) через балансировщик нагрузки.
Это действительно зависит от вашего приложения. Если запросы небольшие, то 10 дворняжек не должно быть проблемой. Но если у вас есть более длительные запросы, все может встать в очередь, когда все дворняги будут заняты обработкой запроса. Количество пользователей на самом деле не имеет значения, поскольку один браузер может выполнять 10 запросов одновременно, а если запросы выполняются слишком долго, занимайте всю мощность. Но если ваши запросы не длинные, тогда все будет в порядке. Я обслуживаю около 2000 запросов в секунду (то есть около 7-15 мс) с 10 экземплярами за proxy_balancer. Кроме того, ваше приложение не станет недоступным, когда все дворняги будут заняты, но время отклика не будет оптимальным. Если вы можете справиться с этим (восприятие пользователя), значит, вы тоже в порядке. Я бы посоветовал отслеживать ваше приложение и время отклика и брать его оттуда. Если вы можете сэкономить объем оперативной памяти, который использует каждый дворняга, просто начните с 10. Если вам нужно больше дворняг, увеличьте, если вам нужно меньше, уменьшите.