Я пытаюсь протестировать и загрузить различные настройки веб-сервера (mod_php vs php as fastcgi, максимальная / минимальная конфигурация рабочего / потока и т. Д.). Я начинаю с ab, но мне были бы интересны другие рекомендуемые инструменты для этой работы. Веб-сервер - это сервер Linux, но при необходимости я могу запускать инструменты тестирования на базе Windows со своего настольного компьютера.
Также меня интересуют любые рекомендации по технике. Например:
Я предполагаю, что получу более полезные результаты, работая на отдельной машине, ничего не делая (в отличие от работы на той же машине, что и веб-сервер, или на моем настольном компьютере в качестве фонового процесса). Это верно?
Аналогичным образом, я полагаю, что могу уменьшить влияние сетевых проблем на тестирование, разместив эту машину в том же центре обработки данных на частном IP.
Я хочу настроить больше, чем один файл, чтобы получить какой-либо настоящий тест (могу ли я даже сделать это с помощью ab?).
Есть еще советы?
Мне нравится создавать класс компьютеров, которые работают осада.
Я сканирую сайт один раз с помощью wget
wget -r -l0 -np -O /dev/null http://domainname.com
// Note that the -l0 means that it will recurse infinitly, depending on your site,
// you might want to change that to something lower, say ... -l3
// This will crawl the site, and throw all the contents away.
Затем я извлекаю все уникальные URL-адреса из журналов сервера, используя такую единственную строку:
awk '{ print "http://domainname.com"$7 }' access.log | sort | uniq
Затем можно настроить осаду, чтобы использовать этот файл, и затем они будут предпринимать попытки в случайном порядке.
siege -f siegeurls -i -b
Его также можно настроить для отправки различных заголовков, установки агента пользователя и прочего.
Я рекомендую вам взглянуть на осаду. Эту установку я использую, когда сам тестирую веб-сайты.