Бенчмаркинг (пытки) сервера ab(.exe)

Главные вкладки

Аватар пользователя sashka sashka 23 февраля 2007 в 2:50

Читнув эту
http://buytaert.net/drupal-vs-joomla-performance
статью, решил помучить и свой сервер. Муки-муками, пытки-пытками — это всё конечно весело, но сохраняя во время разработки ресурса на локальной машине промежуточные результаты, можно точно и объективно наблюдать насколько снижется производительность сайта и при его "набивке" теми или иными фичами. Это главная практическая цель Smile
Прошу в студию: ab! (ab — Apache HTTP server benchmarking tool).

Кривой перевод краткого варианта опций командной строки (много ключей опущенно)...

ab [ -A имя:пароль ]
[ -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 http://drupal1/
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 ...тоже самое только в файл Wink
ab.exe -n 100 -c 5 -w -t 30 http://drupal1/ ...30 секунд на всё про всё не больше...

Полное руководство по пыткам серевера:
http://httpd.apache.org/docs/2.0/programs/ab.html

Пример того, что эта вещь выдаёт:

D:\usr\apache\bin>ab.exe -n 500 -c 5 drupal1/
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

Benchmarking drupal1 (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Finished 500 requests

Server Software:        Apache/1.3.29
Server Hostname:        drupal1
Server Port:            80

Document Path:          /
Document Length:        4999 bytes

Concurrency Level:      5
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

Connection Times (ms)
              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 Biggrin

Формат ввода немного подкаверкал ввод, но ничего...

ВложениеРазмер
Иконка пакета ab.zip30.53 КБ

Комментарии

Аватар пользователя Shedko Shedko 23 февраля 2007 в 3:01

Блин, не знаю почему, но у меня эта утилита вызывает желание устроить атаку на любой сервер, запустили 10 экземляров из cmd файла и уложили сервер Smile

Аватар пользователя sashka sashka 23 февраля 2007 в 3:24

Ну зачем же так? Если можно просто запустить с ключом `-c 50 -n 1500` думаю и ось ляжет Biggrin если админы не прописали ограничение на количество запросов.

Аватар пользователя qman qman 25 февраля 2007 в 15:13

Огромное спасибо за статью. Проверю на работе сколько запросов выдерживает сервер microsoft internet information server.

Аватар пользователя kiev1 kiev1 25 февраля 2007 в 18:45

запросы выдерживает не сервер а то что этим сервером запускается - php mysql запросы и тд, а сам сервер может выдержать очень много - от 100 до 300 запросов в секунду.

> если админы не прописали ограничение на количество запросов

правильные админы конечно прописали ограничение на количество запросов с одного IP
а так-же есть кажется модуль к апачу который вообще запрещает коннекты с общеизвестных опен-прокси

Аватар пользователя tsippa tsippa 26 февраля 2007 в 21:17

http://hostinfo.ru/articles/439

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

Аватар пользователя vadbars@drupal.org vadbars@drupal.org 11 марта 2007 в 12:16

Вот здесь подборка статей (англ.яз.) по тюнингу и оптимизации Drupal для "больших" сайтов: http://2bits.com/articles/drupal-performance-tuning-and-optimization-for...


Я ставлю строчку "php_value error_reporting 7" в файл .htaccess, а вы? Smile Полный русский перевод Drupal 5.x и еще некоторых модулей.

Аватар пользователя sashka sashka 13 марта 2007 в 2:06

Большое спасибо за дополнительные утилиты и приведённые ссылки.
Думаю тема глумления раскрыта полностью Biggrin