Читнув эту
http://buytaert.net/drupal-vs-joomla-performance
статью, решил помучить и свой сервер. Муки-муками, пытки-пытками — это всё конечно весело, но сохраняя во время разработки ресурса на локальной машине промежуточные результаты, можно точно и объективно наблюдать насколько снижется производительность сайта и при его "набивке" теми или иными фичами. Это главная практическая цель
Прошу в студию: ab! (ab — Apache HTTP server benchmarking tool).
Кривой перевод краткого варианта опций командной строки (много ключей опущенно)...
[ -c параллелизм ]
[ -C имяплюшки=значение ]
[ -H свой заголовок (аля "Accept-Encoding: zip/zop;8bit") ]
[ -i HEAD запрос вместо GET]
[ -k включение HTTP KeepAlive по умолчанию отключено ]
[ -n количество запросов ]
[ -q тихий режим]
[ -s https ]
[ -t лимит времени (сек.) ]
[ -T заголовок Content-type для содержимого POST]
[ -v подробный вывод]
[ -V сообщить версию и выйти :) ]
[ -w вывод в html]
[ -X proxy[:port] ]
[http://]имяхоста[:port]/path
примеры коммандной строки (скучаю по никсовому шеллу):
ab.exe -n 100 http://drupal1/ ...количество запросов 100 штук
ab.exe -n 100 -c 5 http://drupal1/ ...тоже + паралельно 5
ab.exe -n 100 -c 5 -w http://drupal1/ ...вывод в хтмл
ab.exe -n 100 -c 5 -w http://drupal1/ > tests#1.html ...тоже самое только в файл
ab.exe -n 100 -c 5 -w -t 30 http://drupal1/ ...30 секунд на всё про всё не больше...
Полное руководство по пыткам серевера:
http://httpd.apache.org/docs/2.0/programs/ab.html
Пример того, что эта вещь выдаёт: Benchmarking drupal1 (be patient)
Server Software: Apache/1.3.29 Document Path: / Concurrency Level: 5 Connection Times (ms)
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net
Copyright 2006 The Apache Software Foundation, http://www.apache.org
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests
Server Hostname: drupal1
Server Port: 80
Document Length: 4999 bytes
Time taken for tests: 265.375000 seconds
Complete requests: 500
Failed requests: 0
Write errors: 0
Total transferred: 2728500 bytes
HTML transferred: 2499500 bytes
Requests per second: 1.88 [#/sec] (mean)
Time per request: 2653.750 [ms] (mean)
Time per request: 530.750 [ms] (mean, across all concurrent requests)
Transfer rate: 10.04 [Kbytes/sec] received
min mean[+/-sd] median max
Connect: 0 6 11.2 0 78
Processing: 1375 2636 304.8 2546 4359
Waiting: 1328 2554 295.7 2484 4046
Total: 1375 2643 305.7 2546 4359
...
Утилита идёт со вторым апачем, но работает и с первым. Для тех кому лень качать весь дистр ради утилиты в 64кб выкладываю. Осторожно exe
Формат ввода немного подкаверкал ввод, но ничего...
Вложение | Размер |
---|---|
ab.zip | 30.53 КБ |
Комментарии
Блин, не знаю почему, но у меня эта утилита вызывает желание устроить атаку на любой сервер, запустили 10 экземляров из cmd файла и уложили сервер
Ну зачем же так? Если можно просто запустить с ключом `-c 50 -n 1500` думаю и ось ляжет если админы не прописали ограничение на количество запросов.
Огромное спасибо за статью. Проверю на работе сколько запросов выдерживает сервер microsoft internet information server.
запросы выдерживает не сервер а то что этим сервером запускается - php mysql запросы и тд, а сам сервер может выдержать очень много - от 100 до 300 запросов в секунду.
> если админы не прописали ограничение на количество запросов
правильные админы конечно прописали ограничение на количество запросов с одного IP
а так-же есть кажется модуль к апачу который вообще запрещает коннекты с общеизвестных опен-прокси
http://hostinfo.ru/articles/439
Вот интересная утилитка для нагрузочного тестирования, думается мне что если запустить ее на компьютерах нескольких друзей, то картина производительности сайта получится более приближенной к реальным условиям.
Вот здесь подборка статей (англ.яз.) по тюнингу и оптимизации Drupal для "больших" сайтов: http://2bits.com/articles/drupal-performance-tuning-and-optimization-for...
Большое спасибо за дополнительные утилиты и приведённые ссылки.
Думаю тема глумления раскрыта полностью