Конфигурация Phantom¶
phantom.conf¶
Конфиг можно разбить на несколько секций:
module_setup = setup_module_t¶
Директива определяющая список подгружаемых модулей. В зависимости от решаемой задачи набор модулей должен быть различным, Фантом может работать как в режиме клиента, так и сервера, реализована поддержка различных протоколов сетевого уровня(ipv4, ipv6), транспортного уровня(TCP, SSL).
Имя модуля Назначение io_benchmark модуль клиента io_benchmark_method_stream режим клиента io_benchmark_method_stream_ipv4 поддержка ipv4 io_benchmark_method_stream_ipv6 поддержка ipv6 io_benchmark_method_stream_source_log использование текстового файла с входными данными(запросами) io_benchmark_method_stream_proto_http подключение http протоколлера io_benchmark_method_stream_transport_ssl поддержка SSL
main_scheduler = scheduler_simple_t¶
описание планировщика, сколько и каких ресурсов он будет использовать, дискретность подаваемой нагрузки в миллисекундах.
stat¶
описание статистики собираемой в файлphantom_stat.log
формат и назначение которого нужно уточнить.
benchmark_io = io_benchmark_t¶
описание клиентской части(генератора нагрузки), в рамках данного руководства возможности Фантома как сервера не рассматриваются.
logger_t bencmark_logger¶
куда и как писать ответы тестируемого приложения.
logger_t brief_logger¶
куда и как писать агрегированную статистику ответов тестируемого приложения.
source_t source_log = source_log_t¶
входные данные для теста.
transport¶
какой протокол транспортного уровня использовать, величина таймаута.
Примеры готовых конфигурационных файлов:¶
ammo.stpd¶
Содержит план нагрузки: что и когда будет отправлено во время выполнения теста.
размер фрагмента в байтах
|
| момент времени (кол-во миллисекунд от начала теста) в который данные должны быть отправлены
| |
| | Тег конкретного запроса, можно использовать при агрегации результатов.
| | |
| | |
/\ | |
_ 84 1000 api 1000<LF>
/ GET / HTTP/1.0<CR><LF>
/ User-Agent: phantom_14/1.2.3<CR><LF>
запрос --------| Host: 127.0.0.1<CR><LF>
\ Connection: Close<CR><LF>
\_ <CR><LF>
разделитель ------> <LF>
84 2000<LF>
GET / HTTP/1.0<CR><LF>
User-Agent: phantom_14/1.2.3<CR><LF>
Host: 127.0.0.1<CR><LF>
Connection: Close<CR><LF>
<CR><LF>
разделитель ------> <LF>
конец файла ------> 0