В соответствии с Сайт Gearman
«16-ядерная машина Intel способна обрабатывать до 50 000 заданий в секунду».
У меня есть балансировщик нагрузки, который перемещает трафик на 4 разных компьютерах. Каждая машина имеет 8 ядер. Я хочу иметь возможность запускать 13 тыс. Заданий на машину в секунду (это определенно больше, чем 50 тыс. Заданий).
Каждая работа занимает от 0,02 до 0,8 мс.
Сколько рабочих мне нужно открыть для этого типа производительности?
Какие шаги мне нужно предпринять, чтобы открыть такое количество работников?
В зависимости от того, какую обработку вы выполняете, это потребует небольших экспериментов и нагрузочного тестирования. Перед началом убедитесь, что у вас есть способ перезагрузить сервер без SSH, так как вы можете легко привязать процессор. Выполните следующие действия, чтобы найти оптимальное количество работников:
top
и наблюдать за средней нагрузкой. Средняя нагрузка не должна превышать количество ядер. Для 8 ядер средняя загрузка 7 или выше указывает на то, что у вас слишком много рабочих. Более низкая средняя загрузка означает, что вы можете попробовать добавить другого работника.Выполняя параллельную обработку, имейте в виду, что вы можете столкнуться с проблемой уменьшения отдачи. Прочитать о Закон Амдаля для дополнительной информации.
Других решений пока нет …