Советы по бенчмаркингу и нагрузочному тестированию веб-сервера?

Я пытаюсь протестировать и загрузить различные настройки веб-сервера (mod_php против php как fastcgi, max/min рабочая / потоковая конфигурация и т. Д.). Я начинаю с ab, но был бы заинтересован в других рекомендуемых инструментах для этой работы. Веб-сервер - это сервер Linux, но я могу запускать инструменты тестирования на базе Windows с моего компьютера, если это необходимо.

Я также заинтересован в любых рекомендациях относительно техники. Например:

  • Я предполагаю, что получу более полезные результаты, работая на отдельной машине, ничего не делая (в отличие от запуска на той же машине, что и веб-сервер, или на моем настольном компьютере в качестве фонового процесса). Это правильно?

  • Я также полагаю, что могу уменьшить влияние проблем с сетью на тестирование, поместив эту машину в один центр обработки данных на частный IP-адрес.

  • Я хочу настроить больше, чем просто один файл, чтобы получить какой-либо реальный тест (могу ли я сделать это с помощью ab?).

Любые другие советы?

1 ответ

Мне нравится создавать класс компьютеров, которые управляют осадой.

Я сканирую веб-сайт один раз, используя 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

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

Я бы рекомендовал вам взглянуть на осаду. Это настройка, которую я использую при тестировании самонастраиваемых веб-сайтов.

Другие вопросы по тегам