Инструмент тестирования apache очень прост, и хотя он даст вам твердое представление о некоторой производительности, полагаться на него только в том случае, если вы планируете подвергать свой сайт серьезной нагрузке в процессе производства , - плохая идея.
Сказав это, вот самые распространенные и простые параметры:
-c
: ("Параллелизм"). Указывает, сколько клиентов (людей / пользователей) будут заходить на сайт одновременно. Во время запуска на сайт ab
будут заходить -c
клиенты. Это то, что на самом деле определяет степень нагрузки, которую ваш сайт будет испытывать во время теста.
-n
: Указывает, сколько запросов будет сделано. Это просто определяет продолжительность теста. Высокое -n
значение со -c
значением, которое может поддерживать ваш сервер, - хорошая идея, чтобы гарантировать, что что-то не сломается при длительном стрессе: поддерживать стресс в течение 5 секунд не одно и то же, чем в течение 5 часов.
-k
: Это делает браузеры "KeepAlive" по своей природе. Вам не нужно передавать значение, -k
поскольку оно «логическое» (то есть: оно указывает, что вы хотите, чтобы ваш тест использовал заголовок Keep Alive из HTTP и поддерживал соединение). Поскольку браузеры делают это, и вы, вероятно, захотите смоделировать стресс и поток, которые ваш сайт будет испытывать от браузеров, рекомендуется выполнить тест с этим.
Последний аргумент - это просто хозяин. По умолчанию он попадет в протокол http: //, если вы его не укажете.
ab -k -c 350 -n 20000 example.com/
Выполнив команду выше, вы попадете на http://example.com/ с 350 одновременными подключениями, пока не будет удовлетворено 20 тысяч запросов. Это будет сделано с помощью заголовка keep alive.
После того, как процесс завершит 20 тысяч запросов, вы получите отзыв о статистике. Это покажет вам, насколько хорошо сайт работал в условиях стресса, который вы ему оказали при использовании указанных выше параметров.
Чтобы узнать, сколько людей сайт может обслуживать одновременно, просто посмотрите, является ли время ответа (среднее, минимальное и максимальное время ответа, неудавшиеся запросы и т. Д.) Числами, которые ваш сайт может принять (разные сайты могут требовать разную скорость). Вы можете запускать инструмент с разными значениями -c, пока не дойдете до места, где вы скажете: «Если я увеличу его, он начнет получать неудавшиеся запросы и сломается».
В зависимости от вашего веб-сайта вы ожидаете среднее количество запросов в минуту. Это так сильно, что вы не сможете смоделировать это с помощью ab. Однако подумайте об этом так: если ваш средний пользователь будет выполнять 5 запросов в минуту, а среднее время ответа, которое вы считаете допустимым, составляет 2 секунды, это означает, что 10 секунд из минуты 1 пользователь будет выполнять запросы, то есть только В 1/6 случаев он попадает на сайт. Это также означает, что если у вас есть 6 пользователей, обращающихся к сайту с помощью ab одновременно, у вас, вероятно, будет 36 пользователей в моделировании, даже если ваш уровень параллелизма (-c) равен всего 6.
Это зависит от поведения, которое вы ожидаете от своих пользователей, использующих сайт, но вы можете получить это из «Я ожидаю, что мой пользователь выполнит X запросов в минуту, и я считаю среднее время ответа допустимым, если оно составляет 2 секунды». Затем просто измените свой -c level, пока вы не достигнете 2-х секунд среднего времени отклика (но убедитесь, что максимальное время отклика и stddev все еще действительны) и посмотрите, насколько большим вы можете сделать -c.
Надеюсь, я ясно это объяснил :) Удачи