Мы пытаемся развернуть экземпляры mongrel на машине. Какое оптимальное количество экземпляров беспородных для сервера? Поскольку экземпляр может обрабатывать одновременные соединения, я не вижу никакой выгоды в запуске более одного на ядро. Если больше, потоки будут просто бороться за ЦП. Наши предшественники назначили 10 экземпляров для 4 ядер, но я думаю, что это только вызовет конкуренцию ЦП. Какие-либо окончательные ответы / мнения?
Я видел этот вопрос: Сколько экземпляров дворняжек?
Но на самом деле это недостаточно конкретно.
Коллега отправил автору тонкого письма по электронной почте, который подтвердил наличие одного тонкого экземпляра на ядро. Становится более интересным для ядер с Hyper-Threading, но это, наверное, другой вопрос.
Коллеги сказали, что ублюдок блокирует по IO. Thin использует eventmachine, чтобы не блокировать ввод-вывод, и использует Mongrel в качестве библиотеки HTTP.
Экземпляры Mongrel могут обрабатывать одновременные соединения, но уверены ли вы, что все пути кода никогда не будут блокироваться? Я помню, что некоторые драгоценные камни все еще существуют, блокировка которых может вызвать у вас проблемы.
Вместо того, чтобы искать жесткие правила, я полагаюсь на измерения в подобных ситуациях. Разработайте тест, который предлагает разумное приближение к ожидаемому трафику, и сравните различные конфигурации.