AB (Apache Benchmark) - тест производительности сервера

AB - это утилита для тестирования производительности вашего веб-сервера Apache. Она создана для того, чтобы вы могли определить производительность вашей текущей настройки Apache. В первую очередь, AB показывает сколько запросов в секунду ваш Apache способен обслужить.

Установка AB в Debian

Если вы хотите использовать apache ab в Debian, то вам необходимо установить пакет называемый "apache2-utils".

Этот пакет содержит полезные утилиты для веб-серверов:

  • ab - Apache benchmark tool,
  • logresolve - разрешает IP-адреса в имена хостов в логах,
  • htpasswd - производит действия над файлами базовой аутентификации,
  • htdigest - действия над аутентификационными файлами в формате digest,
  • dbmmanage - то же для файлов с аутентификационными данными в формате DBM, использует perl,
  • htdbm - то же, что и утилита выше, но использует APR,
  • rotatelogs - периодически прекращает запись в лог-файл и создает новый,
  • split-logfile - делит единый лог-файл, включая множество виртуальных хостов,
  • checkgid - проверяет может ли вызывающий установить gid на определенную группу,
  • check_forensic - извлекает вывод mod_log_forensic из лог-файлов Apache.

Для установки данного пакета выполните следующую команду:

# aptitude install apache2-utils

Если вы хотите протестировать производительность Apache с помощью Apache Benchmark на локальной системе, то можно воспользоваться командой вида:

# ab -kc 10 -t 60 http://localhost/

Эта команда откроет 10 соединений с использанием Keep-Alive и будет нагружать localhost в течение 60 секунд через эти соединения. Когда процесс завершится, вы получите некоторую информацию о результатах теста. Для получения более правильных результатов лучше воспользоваться утилитой AB с другой машины.

Некоторые параметры утилиты AB

-A auth-username:password - передать данные для базовой аутентификации. То есть, фактически можно тестировать даже если доступ закрыт с помощью базовой аутентификации (htpasswd).

-c concurrency - количество параллельных запросов в единицу времени. По умолчанию, один реквест в единицу времени (можно считать, что в секунду).

-С cookie-name=value - добавлять куки. Задается в виде пары имя=значение. Это поле можно повторять.

-f protocol - задает SSL/TLS протокол (SSL2, SSL3, TLS1, or ALL).

-h - отобразить краткую справку по параметрам

-k - включить KeepAlive, то есть осуществлять множество запросов в течение одной HTTP-сессии. По умолчанию данная возможность отключена.

-n requests - количество запросов, которое необходимо выполнить в течение сессии тестирования. По умолчанию, выполняется только один запрос, что не дает общей картины.

-q - подавляет вывод некоторых сообщений о процессе тестирования.

-t timelimit - максимальное количество секунд, которое необходимо затратить на тестирование. Это подразумевает значание параметра -n равное 50000. По умолчанию временной лимит не установлен.

-v verbosity - устанавливает уровень "разговорчивости": 4 и выше отображает информацию о заголовках, 3 и выше - информацию о кодах ответа (404, 200 и т. д.), 2 и выше - выводить предупреждения и прочую информацию.

-V - отобразить версию и выйти.

-w - вывести результаты в виде HTML-таблицы. По умолчанию таблица состоит из двух колонок с белым фоном.

-x <table>-attributes - строка для использования в качестве атрибутов для <table>. Атрибуты вставляются <table СЮДА >.

-y <tr>-attributes - строка атрибутов для <tr>.

-z <td>-attributes - строка атрибутов для <td>.

-X proxy[:port] - использовать прокси-сервер для запросов.

С полным набором параметров можно ознакомиться выполнив команду man ab в командной строке.

Пример использования

# ab -c 10 -n 6000 http://localhost:8080/

This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

 

Источник: http://debian-help.ru/web-servers/ab-apache-benchmark-test-proizvoditelnosti-servera/

Категории: 

Метки: