Скрипт для теста скорости сайта

Как то раз мне понадобилось протестировать скорость сайта под нагрузкой и найти узкие места. Я решил воспользоваться бесплатным софтом, но ни один вариант меня не устроил.
Дело в том, что мне нужно было тестировать в несколько потоков и делать запросы по разным ссылкам, имитируя реальную нагрузку. А обычные тесты скорости умеют работать только с одной ссылкой. Учитывая, что все запросы кешируются, толку от них ноль.

Поэтому я написал скрипт, для тестирования скорости сайта, который обращается по разным ссылкам. Для того, чтобы протестировать скорость нужен файл с ссылками, которые будут протестированы. По одной ссылке на строку. Примерно такого вида:

http://migihajami.blogspot.com/
http://migihajami.blogspot.com/about
http://migihajami.blogspot.com/2011/11/blog-post.html

Запуск скрипта: ./sstest filename [flows] [requests]

  • filename - имя файла с ссылками
  • flows - количество потоков тестирования
  • requests - количество запросов на поток

Для работы скрипта нужна утилита ab, которая обычно входит в состав apache, но ее можно заменить на wget, fetch, curl и т.п.

Вот пример результата работы скрипта:
http://migihajami.blogspot.com/  min: 0.184978; max: 0.751944; avg: 0.34793; total: 17.048559
http://migihajami.blogspot.com/2011/11/blog-post.html min: 0.187008; max: 3.297261; avg: 0.19532; total: 20.118123
http://migihajami.blogspot.com/about  min: 0.186426; max: 0.360062; avg: 0.087415; total: 14.24871
Testing finished

Значение total это сумарное время теста скорости ссылки  по всем потокам, поэтому это значение может быть гораздо больше, чем время выполнения тестирования.

Собственно скрипт тестирования скорости сайта.
Никаких ограничений на использование нет. Делайте с ним что хотите и будь, что будет =)

P.S. И все-таки используйте его осторожно, а то задосить неподготовленный сайт такой штукой можно на раз.