ApacheBench

ApacheBench (ab) — однопоточная консольная компьютерная программа для нагрузочного тестирования (измерения производительности) веб-серверов по протоколу HTTP[1]. Изначально разрабатывалась для тестирования Apache HTTP Server, но является универсальным инструментом и может использоваться для проверки любого веб-сервера, поддерживающего протоколы HTTP/1.0 или HTTP/1.1.

Инструмент ab написан на языке Си, входит в стандартный исходный пакет Apache и, как и сам веб-сервер Apache, распространяется свободно как открытое программное обеспечение на условиях лицензии Apache.

История

Изначально программа называлась zb («ZeusBench V1.0») и была написана Адамом Твиссом (компания Zeus Technology) в 1996 году для измерения производительности Zeus Web Server. Вскоре после этого Твисс передал (пожертвовал) программу группе Apache, после чего она была переименована в ab («ApacheBench»).

Начиная с 1997—1998 годов ab развивается и поддерживается как вспомогательная программа внутри состава Apache HTTP Server: от версии 1.0 (1997/1998) до по крайней мере 2.3 (2021 год) и далее[2].

Одновременность и потоки

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

Обнаружение ApacheBench

User-Agent строка, используемая ApacheBench, имеет вид ApacheBench/МАЖОР.МИНОР, где МАЖОР и МИНОР — основные и дополнительные номера версии программы[3]. Во многих случаях веб-аналитики, такие как Webalizer или AWStats, неправильно определяют трафик, сгенерированный ApacheBench, поэтому результаты их отчётов могут искажаться при проведении массовых тестов.

Примечания

  1. ab — инструмент нагрузочного тестирования Apache HTTP Server (англ.). Apache. Дата обращения: 14 июня 2024. Архивировано 16 сентября 2025 года.
  2. Иcходный код ab — проект HTTPd Apache (англ.). Apache HTTPd server project (2021). Дата обращения: 14 июня 2024. Архивировано 20 декабря 2021 года.
  3. User-Agent для AB (ApacheBench) (англ.). User-Agent-String-Info. Дата обращения: 14 июня 2024. Архивировано 21 мая 2011 года.