Страницы

Поиск по вопросам

воскресенье, 2 июня 2019 г.

Создание корректных запросов для yandex.tank\phantom

Т.к. я только начинаю знакомиться с танком, возник еще один вопрос - как правильно задать ему запрос. Имеется локальный web-сервер, на нем крутиться небольшой сайт. К нему напрямую подключен сервер с танком. Нагрузка генерируется фантомом. Но апач постоянно выдает в логах ssl ошибку Invalid URI in request. Можете посоветовать, чем можно "вытащить" корректные запросы к сайту? wget? может быть, curl?
UPD
пример вывода answ.log
208 488 35886 852 0 HTTP/1.1 404 Not Found Date: Thu, 28 Jan 2016 13:39:50 GMT Server: Apache/2.4.6 (CentOS) Content-Length: 289 Connection: close Content-Type: text/html; charset=iso-8859-1 ERROR 404: Not Found. HTTP/1.1 400 Bad Request^M Date: Tue, 02 Feb 2016 10:56:39 GMT^M Server: Apache/2.4.6 (CentOS)^M Content-Length: 307^M Connection: close^M Content-Type: text/html; charset=iso-8859-1^M ^M 400 Bad Request

Bad Request

Your browser sent a request that this server could not understand.


Apache/2.4.6 (CentOS) Server at 192.168.238.211 Port 443

366 488 35985 688 0 HTTP/1.1 200 OK Date: Thu, 28 Jan 2016 13:39:50 GMT Server: Apache/2.4.6 (CentOS) Last-Modified: Sat, 26 Jun 2010 09:38:02 GMT ETag: "369-489eba4cc1280" Accept-Ranges: bytes Content-Length: 873 Connection: close Content-Type: text/css 0K 100% 44,7M=0s HTTP/1.1 400 Bad Request^M Date: Tue, 02 Feb 2016 10:56:39 GMT^M Server: Apache/2.4.6 (CentOS)^M Content-Length: 307^M Connection: close^M Content-Type: text/html; charset=iso-8859-1^M ^M 400 Bad Request

Bad Request

Your browser sent a request that this server could not understand.


Apache/2.4.6 (CentOS) Server at 192.168.238.211 Port 443

load.ini
[phantom] threads=60 phantom_path=/usr/bin/phantom phantom_modules_path=/usr/lib/phantom/ instances=5000 address=192.168.238.211 ;Target's address port=443 ;target's port rps_schedule=const(1000,30s) ;load scheme writelog=all gatling_ip=192.168.238.210 ;generator's network interface ammofile=https://192.168.238.211/ammo/ammo.txt ssl=1


Ответ

В комментах уже выяснили, что у вас неверный формат запросов, как нужно делать описано в документации
На практике наиболее используемые uri-style и request-style. Uri-style – это просто список uri в отдельном файле, опционально после uri через пробел можно задать тег, тогда будут дополнительные агрегаты по тегам; заголовки задаются в любом месте в [] и применяются ко всем последующим запросам:
[Connection: close] [Host: example.com] / /test?param=1
Если у вас только GET запросы - этого достаточно.
Чтобы слать запросы произвольного вида нужно использовать request-style, там содержимое запроса отправляется практически "как есть" исправляются только переводы строки в заголовках на
при необходимости, формат описан в документации
Собрать GET запросы можно по логам веб-сервера, с POST/PUT сложнее, если нужны они то, можно сделать генератор под конкретный сервис, узнав, что за данные в него нужно слать. Если нет хорошего описания, что за данные надо слать, можно посмотреть, что фактически отправляется - или через developer tools браузера или при помощи утилит для захвата трафика, например, wireshark (с https тут будут проблемы).

Комментариев нет:

Отправить комментарий