Назад | Перейти на главную страницу

Допускает ли Apache Benchmark интервалы между каждым запросом?

У меня есть сервер, который блокирует пакетный запрос (если один и тот же IP-адрес обращается к серверу более 3 раз в секунду, он будет обслуживать ошибку 500).

Поэтому, когда я использую тест Apache, я вижу много неудачных запросов, даже если я установил для параллелизма значение 1.

Есть ли возможность установить интервал между каждым запросом? Или есть аналогичные инструменты для тестирования, которые предлагают эту функцию интервала?

Ты мог бежать ab через watch чтобы отложить повторный доступ, но вы не сможете много использовать сводку отчета.

watch -n 1 ab -n 3 http://serverfault.com/

Или прогнать через curl вместо того ab

watch -n 0.4 curl http://serverfault.com/

Больше о watch: http://www.linfo.org/watch.html

Вы действительно не собираетесь проводить какое-либо значимое нагрузочное тестирование с ограничением параллелизма до 3. Вероятно, вам потребуется снять ограничение на количество запросов в секунду для IP-адреса, с которого вы тестируете.

Нет такой опции.

Только настраиваемые параметры времени

-t ограничение по времени

Максимальное количество секунд, которое нужно потратить на тестирование. Отсюда следует -n 50000 внутренне. Используйте это для тестирования сервера за фиксированный общий промежуток времени. По умолчанию ограничений по времени нет.

Однако каков эффект бенчмаркинга, если вы подождете? Вы вообще не получите реальных результатов.

И вы можете добавить текстовый файл для подробного журнала.

watch -n 1 'ab -n 3 -v3 http://serverfault.com/ >> ab.txt'

Вы можете посчитать появление ошибок 5xx. Например, в vim:

:%s/HTTP\/1.1 5//n

Или постоянные ходы 3хх

:%s/HTTP\/1.1 3//n

А потом хорошо проанализируйте свой хостинг на предмет работоспособности.