2013-11-12 13 views
1

Должен ли я учитывать использование ЦП, сетевой трафик или проверку времени ответа HTTP? Я провел несколько тестов с Apache AB (с того же сервера - eq: ab -k -n 500000 -c 100 http://192.XXX.XXX.XXX/) - и я отслеживал среднюю нагрузку. Даже если загрузка была между 1.0 - 1.50 (одним основным сервером), «время на запрос» (среднее значение) было довольно прочным, 140 мс для простой динамической страницы с одной командой set/get Redis. Во всяком случае, я смущен, поскольку общий совет - запустить новый экземпляр, когда вы передадите 70% -ный уровень использования ЦП.Когда следует добавлять (автоматически масштабировать) новые экземпляры сервера Nginx?

+0

Это сумма вашего среднего трафика/одновременных пользователей? –

+0

Это всего лишь тест, сервер еще не работает. Для ab -k -n 500000 -c 1500 я получаю время на запрос 589 мс (в среднем). Для -c 2000 850 мс. Среднее значение нагрузки находится где-то между 1,30-1,50 для всех тестов, не имеет значения, есть ли у меня параллелизм 100, 1500 или 2000. Это заставляет меня задаться вопросом, является ли среднее значение нагрузки хорошим показателем для принятия решения о том, когда добавлять или удалять новые экземпляры. – etamina

ответ

1

70% загрузка процессора - хорошее эмпирическое правило для приложений, связанных с процессором, таких как nginx. Время процессора похоже на температуру тела: на самом деле он скрывает много разных вещей, но является хорошим общим показателем здоровья. Средняя загрузка - это отдельная мера того, сколько процессов ожидает запланированного. Причина, по которой правило составляет 70% (или 80%) использования, заключается в том, что за этот период приложения, связанные с процессором, склонны страдать от латентности, вызванной конкуренцией и нелинейной производительностью.

Вы можете проверить это самостоятельно, построив пропускную способность и латентность (медианный и 90-й процентиль) на использование ЦП в вашей настройке. Поиск точки перегиба для вашей конкретной системы имеет важное значение для планирования пропускной способности.

Очень хорошая запись этого явления приведена в оригинальной статье Facebook о Dyno, их системе для измерения пропускной способности PHP под нагрузкой.

https://www.facebook.com/note.php?note_id=203367363919