fomars on master
Update README.md (compare)
fomars on master
Merge pull request #839 from ya… add options for influxdb upload… add documentation for ssl and p… and 3 more (compare)
fomars on master
fix binary ammo & caseline + te… YANDEXTANK-456 fix encoding whi… fix test data ref:bc5f5a0d8f30… and 1 more (compare)
fomars on master
Merge pull request #2 from yand… PR from branch users/ival83/yan… PR from branch users/fomars/add… and 68 more (compare)
@ALEXLINCHEVSKY ну я сомневаюсь что какие то данные можно обновить не зная id
если скрипт ожидает ответ, который должен что-то передать новое для последующего скрипта - то такая методика не работает в phantom. если нужна такая схема - то тест нужно писать либо в JMeter или BFG или Pandora. Phantom - хороший инструмент, когда можно создать статический набор запросов. я в своей работе его применял для подключения множества пользователей и их работа с API моего Back-end-a. там где я применю какие-то значения для следующего скрипта - то уже тест не phantom-ом
Подскажите в чем может быть проблема
ERROR: File contains no section headers.
file: load.yaml, line: 1
'phantom:\n'
Содержимое файла брал из документации
https://yandextank.readthedocs.io/en/latest/tutorial.html
Доброе утро. Помогите, пожалуйста, решить проблему.
Использую пандору для стрельбы по серверу. Генерю патроны вида:
531 searchByText
POST /res/cgi/online.cgi?req=query&opt=1&content=tree&div=LAW&mb=LAW&rnd=52FDFC072182654F163F5F0F9A621D72 HTTP/1.1
Host: hostname11111
Cookie: consRef=http%3A%2F%2Fhostname11111%2Fres%2Fcgi%2Fonline.cgi; CONSD1883D97DFD3DF5F58F7D95A9B4BEE67=8C8C94C618DA0C9D19F0C0B9A50100C7
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
Content-Length: 23
134=b,комендантский час
520 searchByText
POST /res/cgi/online.cgi?req=query&opt=1&content=tree&div=LAW&mb=LAW&rnd=9566C74D10037C4D7BBB0407D1E2C649 HTTP/1.1
Host: hostname11111
Cookie: consRef=http%3A%2F%2Fhostname11111%2Fres%2Fcgi%2Fonline.cgi; CONSD1883D97DFD3DF5F58F7D95A9B4BEE67=E140784944D191BFACA3E855C8232DF8
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36
Content-Length: 12
134=b,22 ПБУ
....
Всего в файле 1000 патронов. Но при стрельбе во всех инстансах берется только первый патрон.
Ошибок при стрельбе нет, патрон парсится верно.
package: yandextank.plugins.Bfg
enabled: true
ammofile: "./bfgammo"
instances: 1
worker_type: measure_counter
gun_config:
class_name: LoadTest
module_path: "/Users/blablabla"
module_name: mybfg
init_param: Hello
gun_type: ultimate
load_profile:
load_type: rps
schedule: const(1, 2m)
Друзья, всем привет! Я новичок в данной сфере и хотел бы разобраться в верном написании патрона и пояснении графиков. Может кто оказать помощь?
"Алексей Лавренюк — Учимся анализировать результаты нагрузочного тестирования"
https://www.youtube.com/watch?v=gws7L3EaeC0&list=LLrS8PC3RvrkGhnjkKGgLMMA&index=11&t=0s
Остальная инфа в документации, стаковерфлоу, искать можно по этому чату, так же есть немного роликов на ютубе.
Особенно мне понравился там ролик, где говорилось что документация яндекс.танка лучше, чем джеметр, наверное на тот момент так и было.
Остальные моменты приходится искать методом "научного тыка".
cat load.yaml
#overload:
# enabled: true
# package: yandextank.plugins.DataUploader
# token_file: "token.txt"
phantom:
enabled: true
address: haproxy01:80
header_http: '1.1'
headers:
- "[Host: haproxy01]"
- "[User-Agent: Tank]"
load_profile:
load_type: rps
schedule: line(1, 10, 10m)
ammofile: "test_ammo.txt"
uris: "/topics/chtopic"
console:
enabled: true
telegraf:
enabled: false
`
конфига для танка такая:
jmeter:
enabled: true
package: yandextank.plugins.JMeter
jmx: /home/admin/test.jmx
jmeter_path: /home/admin/apache-jmeter-5.2.1/bin/jmeter
buffered_seconds: 0
ext_log: none
variables:
protocol: http
host: 127.0.0.1
port: 8080
path: /path/to/endpoint
thread_rpm: 300
loops: 20
texts: scenarios.csv
def case1(self, foo):
with self.gun.measure("get_profile") as get_profile:
if self.s is None:
self.get_session()
job_url = self.url + "profile"
response = self.s.get(job_url)