wrktcp — безлуа-зависимый инструмент для нагрузочного тестирования TCP-протокола wrk
wrktcp — это облегчённый инструмент для нагрузочного тестирования, основанный на wrk и поддерживающий TCP-протокол. Он чувствителен к результатам ответа и может генерировать большое количество одновременных запросов с использованием меньшего количества потоков.
Инструмент имеет следующие особенности:
Проект был разработан в результате многолетнего опыта разработки финансовых программных продуктов. В процессе разработки использовались такие инструменты, как loadrunner, wrk и Jmeter. Однако были выявлены следующие проблемы:
Для решения этих проблем был разработан wrktcp на основе высокопараллельной и низкопотерной архитектуры wrk. Также была добавлена поддержка TCP-протокола и проверка правильности результатов ответа. Кроме того, были учтены потребности пользователей loadrunner и опыт настройки и использования скриптов.
Основные функции инструмента включают:
Компиляция и установка инструмента выполняются следующим образом:
Быстрое использование инструмента включает следующие шаги:
[common]
host = 127.0.0.1
port = 8000
[request]
req_body = this is a test
wrktcp --test sample_tiny.ini
wrktcp -t2 -c20 -d10s --latency sample_tiny.ini
Команда представляет следующие параметры:
/Users/suitm/code/c/wrktcp>wrktcp -t2 -c20 -d10s --latency sample_tiny.ini
Running 10s loadtest @ 127.0.0.1:8000 using sample_tiny.ini
2 threads and 20 connections
Time:10s TPS:2347.30/0.00 Latency:5.90ms BPS:48.14KB Error:0
Thread Stats Avg Stdev Max +/- Stdev
Latency 64.19ms 185.36ms 1.11s 91.91%
Req/Sec 1.42k 417.52 1.92k 73.46%
Latency Distribution
50% 6.03ms
75% 8.17ms
90% 168.91ms
99% 983.51ms
23503 requests in 10.09s, 482.00KB read
Requests/sec: 2328.22 (Success:2328.22/Failure:0.00)
Transfer/sec: 47.75KB
В результатах представлены следующие данные:
报文头配置,默认只有长度 req_head = XMLHEAD$(length)20201231
req_body =
$(DATE)
$(BRANCH)
$(TRACENO)
$(TERMNO)
313233000017
张三
HELLO,this is a test
[response]
rsp_headlen = 23
rsp_len_beg = 8
rsp_len_len = 8
rsp_len_type = body
rsp_code_type = xml
rsp_code_location = body
rsp_code_location_tag =
rsp_code_success = 000000
[parameters] TRACENO = COUNTER, 1, 100000, 1, %08ld BRANCH = FILE, branch.txt TERMNO = CONNECTID, %08ld DATE = DATETIME, %H:%M:%S Перевод текста на русский язык:
Конфигурация заголовка сообщения, по умолчанию только длина req_head = XMLHEAD$(длина)20201231
req_body = <корень> <голова> <дата>$(ДАТА)</дата> <ветка>$(ВЕТКА)</ветка> <трачено>$(ТРАЧЕНО)</трачено> <срок>$(СРОКНО)</срок> <банкно>313233000017</банкно> <имя>Чжан Сань</имя> </голова> <тело> <сообщение>ПРИВЕТ, это тест</сообщение> </тело> </корень>
[ответ]
rsp_headlen = 23
rsp_len_beg = 8
rsp_len_len = 8
rsp_len_type = тело
rsp_code_type = xml
rsp_code_location = тело
rsp_code_location_tag = <код возврата>
rsp_code_success = 000000
[параметры] ТРАЧЕНО = СЧЁТЧИК, 1, 100 000, 1, %08лд ВЕТКА = ФАЙЛ, branch.txt СРОКНО = СОЕДИНИТЬ, %08лд ДАТА = ВРЕМЯ, %Ч:%М:%С
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )