Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 23 14:56
    fomars closed #853
  • Nov 23 14:55
    fomars opened #853
  • Nov 09 14:59
    thergbway commented #845
  • Nov 09 01:06
    fomars opened #852
  • Nov 09 01:05

    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)

  • Nov 09 01:05
    fomars closed #851
  • Nov 05 16:06
    arcadia-devtools synchronize #851
  • Nov 05 14:27
    trueival commented #851
  • Nov 04 18:54
    arcadia-devtools synchronize #851
  • Nov 04 00:48
    arcadia-devtools synchronize #851
  • Nov 03 20:43
    arcadia-devtools synchronize #851
  • Nov 02 13:29
    arcadia-devtools synchronize #851
  • Oct 30 13:36

    fomars on Python2

    (compare)

  • Oct 30 13:30
    fomars opened #851
  • Oct 23 11:51
    buhtr commented #845
  • Oct 09 11:49
    IvanVas opened #850
  • Sep 25 12:56
    gmmephisto opened #849
  • Sep 22 07:01
    emorozov opened #848
  • Sep 21 21:16
    kolypto commented #845
  • Sep 09 08:09
    nnugumanov commented #814
Gorelykh Anatoly
@Rosherh

Ребят, объясните, пожалуйста. Пытаюсь провести нагрузку на 9 роутов одного сервиса, которые описаны в ammo.txt. Не понимаю как узнать корректную фактическую нагрузку, пишет RPS:25 при этом использует Active instances: ~250. Сами instances никак не нужно учитывать в показатель нагрузки (что-то типа Instances * rps) и главное смотреть на показатель RPS? При тестировании с файлом ammo.txt как-то играет показатель если описывать больше 1 роута для теста?

Просто странно, что при 25 RPS, судя по показателям на экране, я уже получаю какие-то ошибки в HTTP Codes: 0 N/A и в Net codes: 110 Connection timed out.

Конечно, возможно, здесь играет роль, как настроен файл конфигурации nginx, но даже с настройками по умолчанию должно же выдавать rps больше...

Vladislav Popov
@WhatIsLooove

Всем привет, подскажите пожалуйста, как через Пандору отправить запрос с параметрами. В фантоме для ГЕТ запроса в файле load.yaml можно было прописать два параметра и пережать хедеры так:
header_http: "1.1"
headers:

    - "[Host: hostname.com]"
    - ...

Но Пандора не принимает эти параметры в файле и все запросы валятся с ошибкой.
Еще подскажите как отправлять ПОСТ запросы с json телом запроса?

Vladislav Popov
@WhatIsLooove

И подскажите еще как ее с Яндекс танком подружить, а то появляется ошибка
Test interrupted:

<type 'exceptions.RuntimeError'>: Unable to start Pandora binary and/or file does not exist: ['/Users/popov/yandex-tank/pandora', '-expvar', '/var/loadtest/yandex-tank/logs/2020-09-15_09-55-42.953168/pandora_config_3s5i9Q.yaml']

<traceback object at 0x7fb300459b48>

Andrey Filatov
@afilatov
@Rosherh В вашем случае мишень/сервис не отвечает и все запросы отваливаются по таймауту (по умолчанию в танке 11 секунд), поэтому вы и видите на экране соответствующие ошибки с netcode 110. Что касается инстансов, то их количество объяснимо: для 25 rps и времени ответа на каждый запрос в 10 секунд танку приходится использовать 10*25 = +-250 инстансов
BischevRamil
@BischevRamil
Всем привет, кто нибудь устанавливал танк на яндекс клауд из маркетплэйса? При подключении к серийной консоли танк просит логин и пароль. Откуда его взять?
netgineer
@netgineer
Привет. Подскажите, почему танк по достижении указанного в конфиге числа рпс и времени может не завершать работу, а продолжает висеть с 0 рпс?
Vladislav Popov
@WhatIsLooove
Привет, поясните разницу между типами нагрузки rps и instance
Не могу понять в чем их разница и когда какую лучше использовать
Grigoriy
@ligreen

Привет. Подскажите, почему танк по достижении указанного в конфиге числа рпс и времени может не завершать работу, а продолжает висеть с 0 рпс?

Привет, такое может быть если времена ответа большие и танк ждет пока к нему прилетят ответы на все, отправленные ранее, запросы. Какие тайминги у вашего сервиса в этот момент были?

1 reply
Grigoriy
@ligreen

Привет, поясните разницу между типами нагрузки rps и instance
Не могу понять в чем их разница и когда какую лучше использовать

Привет, вот тут есть пояснение про открытую и закрытую системы https://youtu.be/BueCj8eaZio?t=995
Если в кратко, то в случае с instance скорость запросов внутри одного соединения никак не ограничивается, сколько успевает запросов через одно соединение пролезть последовательно - столько rps и получите в виде нагрузки на сервис. А в случае стрельб rps-ами, их скорость в рамках соединения ограничивается.

Elena
@h-elena
Привет. Имею проблему с запуском танка по https с нестандартным портом. Использую модуль фантом. Проблема - 104 Connection reset by peer. При этом через Postman я до этого урла достукиваюсь. Мониторя с wireshark увидела, что с постманом идет протокол TLSv1.2, а вот от танка идет - TLSv1.0. Танк развернула на виртуалке Ubuntu 18.04 LTS. Версия openssl - 1.1.1. Разворачивала по инструкции https://yandextank.readthedocs.io/en/latest/install.html - Installation from PyPi. Как заставить такн работать по TLSv1.2? Что я делаю не так? Файл конфига
phantom:
  address: ***.ru:45200 # [Target's address]:[target's port]
  ammofile: 1.txt
  ssl: true
  uris:
  load_profile:
    load_type: rps # schedule load by defining requests per second
    schedule: line(1, 2, 10s)
  writelog: all
  instances: 3
  loop: -1
autostop:
  autostop:
    - net(101, 10, 10)
    - http(5xx, 25%, 10)
console:
  enabled: true # enable console output
telegraf:
  enabled: false
overload:
  enabled: false
  package: yandextank.plugins.DataUploader
  token_file: "token.txt"
Jiojeq
@jiojeq2_gitlab
Доброго дня, решил обратиться за помощью, сам решить проблему не смог. Итак, пытаюсь подключить telegraph, в итоге получаю ошибку:
12:45:16 [ERROR] Telegraf agent send trash to output: Exception in thread Thread-1:
Слышал, что это может быть связано с старым питоном на мишени. На мишени 2.7.13 на стрелке 2.7.15+. Хотел спросить, в какую сторону копать. Здесь же увидел инфу, что версия должна быть выше 2.7, но, как видите она выше.
Jiojeq
@jiojeq2_gitlab
Ну и в конце
14:18:23 [INFO] Receiving from 10.20.13.246:[/tmp/tmpXeQO6n/monitoring.rawdata] to [agent_10.20.13.246.rawdata]
14:18:23 [ERROR] Unable to get agent artefacts
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/Telegraf/client.py", line 370, in uninstall
data_filename)
File "/usr/local/lib/python2.7/dist-packages/yandextank/common/util.py", line 109, in get_file
result = sftp.get(remote_path, local_path, self.get_progress_logger(remote_path))
File "/usr/local/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 802, in get
size = self.getfo(remotepath, fl, callback)
File "/usr/local/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 778, in getfo
file_size = self.stat(remotepath).st_size
File "/usr/local/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 493, in stat
t, msg = self._request(CMD_STAT, path)
File "/usr/local/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 813, in _request
return self._read_response(num)
File "/usr/local/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 865, in _read_response
self._convert_status(msg)
File "/usr/local/lib/python2.7/dist-packages/paramiko/sftp_client.py", line 894, in _convert_status
raise IOError(errno.ENOENT, text)
IOError: [Errno 2] No such file
Vladislav Popov
@WhatIsLooove
Добрый день, подскажите как подключить мониторинг ресурсов машины, на которой развернут сервер? Видел часто в выступлениях на конференциях смотрят загрузку ЦП, утечки, но у меня в оверлоаде при отображении подобных графиков пишет "no Data to display"
razin3061
@razin3061
Всем привет.
https://overload.yandex.net/ не поплохело ли?
2020-10-13 09:50:15,007 [DEBUG] urllib3.connectionpool connectionpool.py:396 https://overload.yandex.net:443 "POST /api/monitoring/receiver/push?job_id=329132... HTTP/1.1" 500 27
2020-10-13 09:50:15,009 [WARNING] yandextank.plugins.DataUploader.client client.py:557 API error, will retry in 10s...
Kirzilla
@Kirzilla
да, что-то отчеты не грузятся :/
Grigoriy
@ligreen
Починили, были проблемы в БД. Попробуйте повторить стрельбы.
This message was deleted

Добрый день, подскажите как подключить мониторинг ресурсов машины, на которой развернут сервер? Видел часто в выступлениях на конференциях смотрят загрузку ЦП, утечки, но у меня в оверлоаде при отображении подобных графиков пишет "no Data to display"

Привет, в танке есть плагин для мониторинга Telegraf, вот тут можно найти инструкцию по его настройке и использованию: https://yandextank.readthedocs.io/en/latest/core_and_modules.html#telegraf

@WhatIsLooove
Kirzilla
@Kirzilla

Починили, были проблемы в БД. Попробуйте повторить стрельбы.

Спасибо!

Vladislav Popov
@WhatIsLooove

Привет, в танке есть плагин для мониторинга Telegraf, вот тут можно найти инструкцию по его настройке и использованию: https://yandextank.readthedocs.io/en/latest/core_and_modules.html#telegraf

Спасибо)

Karina
@sk_sagittarius_gitlab
Здравствуйте, может кто-нибудь сможет подсказать - при нагрузке на https с яндекс танка выходит ошибка net code 104 - connection reset by peer. при нагрузке с яндекса на http или с апач на http/https ошибок нет
Karina
@sk_sagittarius_gitlab
порт 443 стоит, ssl true, нагружала еще четыре других сайта с ssl шифрованием и там ошибок нет
WeCanStudio
@WCStudio2017
По какой причине значения rps и threads всегда равны нулю https://overload.yandex.net/331141 ? Яндекс-Танк - в докере. Использую кастомную пушку, которая описана здесь https://github.com/yandex/pandora/blob/develop/docs/custom.rst#gRPC
Karina
@sk_sagittarius_gitlab
а что в rps прописано? с phantom не пробовали?
Ali Nuraldin
@Alirun

Всем привет! Уже битый час не могу сделать запрос с SSL

Можете пожалуйста кто-то указать что я делаю не так?

phantom:
  address: api.opium.exchange:443 # [Target's address]:[target's port]
  ssl: true
  uris:
    - /v1/meta/config
  load_profile:
    load_type: rps # schedule load by defining requests per second
    schedule: const(1, 10s) # starting from 1rps growing linearly to 10rps during 10 minutes
console:
  enabled: true # enable console output
telegraf:
  enabled: false # let's disable telegraf monitoring for the first time
В логах следующее:
2020-10-15 14:37:49.803 +0000 [error] [benchmark_io 002] SSL error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
2020-10-15 14:37:49.805 +0000 [error] [benchmark_io 002] SSL_connect error 1
Karina
@sk_sagittarius_gitlab
ssl должн быть true
Ali Nuraldin
@Alirun
Ой, это я игрался
Он на true стоял
Так что не помогло
Поменял
Сервер стоит за Cloudflare
Karina
@sk_sagittarius_gitlab
сайт сам не открывается, 404 пишет. так и планировалось?
По пути открывается
А на корне 404 - это так и планировалось
В Cloudflare нет поддержки SSL 2 3 можно как-то в конфиге указать TLS1.2 ?
Riftbit [ErgoZ] BitBase
@ergoz
@sk_sagittarius_gitlab дело в том что тестируется grpc, и phantom его не поддерживает и мы используем pandora. Про то что написано в рпс - видно на графике. там ноль.
WeCanStudio
@WCStudio2017

а что в rps прописано? с phantom не пробовали?

В конфиге следующее: rps: { duration: 30s, type: line, from: 10, to: 500}
phantom вроде нам не очень подходит, т.к. у нас используется grpc

WeCanStudio
@WCStudio2017
Оказалось, что докер контейнер, рекомендуемый документацией, немного старый. Собрал свой и стало всё ок :-)
RomanSemkin
@RomanSemkin
@DrBlast Cпасибо огромное! Весь день убил на то, чтоб подключить кастомную пушку!
Ivan Naidenov
@vanyarock01
Товарищи. Подскажите, есть ли способ отключить логирование у танка или как-то уменьшить объем логов?
Ivan Naidenov
@vanyarock01
Уточняю вопрос. Логи пишем из пандоры.
Vladislav Popov
@WhatIsLooove
Всем привет, сталкиваюсь с ошибкой в консоли во время теста
Too_many_open_files
Выполнил команду ulimit -n 50000, а после нее рпс не поднимается выше 1700
Подскажите пожалуйста как пофиксить ошибку и рпс чтобы был такой как в конфиге пишу?
Evgeniy Moskalenko
@evgmoskalenko

Привет, ребят, подскажите пожалуйста, что делаю не так.

У меня есть кубер, в котором стоит nginx-ingress-controller и авторизация, через mTLS

Мой docker-compos:

version: '2'
services:
  yandex-tank:
    image: direvius/yandex-tank:latest
    network_mode: host
    environment:
    - SSH_AUTH_SOCK=/ssh-agent
    volumes:
    - $SSH_AUTH_SOCK:/ssh-agent
    - $PWD/config:/var/loadtest
    - $PWD/config/ssl/ca:/etc/ssl/certs # здесь я подкладываю самоподписной ca.crt (openssl s_client -showcerts -servername my-address.com -connect my-address.com:443 > ./ca-chain.pem)
    command: -c rps.line.yaml

rps.line.yaml

phantom:
  address: my-address.com:443
  ssl: true
  client_certificate: ./ssl/client-crt.pem
  client_key: ./ssl/client-key.pem
  timeout: 60s
  header_http: "1.1"
  headers:
    - "[Host: my-address.com]"
    - "[Content-Type: application/json]"
    - "[X-Request-ID: a5555aa-777a-5555-aa77-a55a7a5a77aa]"
    - "[Connection: close]"
  uris:
    - /api/servers/

когда запускаю yandex-tank, то вижу в логах - , то вижу в логах 401, тоесть авторизация не проходит. При этом с этой-же привтаной парой ключей (./ssl/client-crt.pem, ./ssl/client-key.pem), я могу выполнить запрос через Postman и если зайти в контейнер яндекс-танка, и выполнить curl, то тоже получаю 200ОК и без проблем проходит авторизация:

[tank]root@docker-desktop
curl https://my-address.com/api/servers/ \
  --header 'Host: my-address.com' \
  --cert ./ssl/client-crt.pem \
  --key ./ssl/client-key.pem

Логи:

docker-compose up --build
Recreating yandex_tank_yandex-tank_1 ... done
Attaching to yandex_tank_yandex-tank_1
yandex-tank_1  | No handlers could be found for logger "netort.resource"
yandex-tank_1  | 20:29:39 [INFO] New test id 2020-10-25_20-29-39.013273
yandex-tank_1  | 20:29:39 [INFO] Logging handler <logging.StreamHandler object at 0x7f947086f8d0> added
yandex-tank_1  | 20:29:39 [INFO] Logging handler <logging.StreamHandler object at 0x7f9470815ad0> added
yandex-tank_1  | 20:29:39 [INFO] Created a folder for the test. /var/loadtest/logs/2020-10-25_20-29-39.013273
yandex-tank_1  | 20:29:39 [INFO] Configuring plugins...
yandex-tank_1  | 20:29:39 [INFO] Loading plugins...
yandex-tank_1  | 20:29:39 [INFO] Testing connection to resolved address XX.XXX.XXX.XXX and port 443
yandex-tank_1  | 20:29:39 [INFO] Resolved my-address.com into XX.XXX.XXX.XXX:443
yandex-tank_1  | 20:29:39 [INFO] Configuring StepperWrapper...
yandex-tank_1  | 20:29:39 [INFO] Making stpd-file: /var/loadtest/logs/_087358e3c188451c46e17937cd1a12b7.stpd
yandex-tank_1  | 20:29:39 [INFO] Using UriStyleGenerator ammo reader
20:29:44 [INFO] Preparing test...4499, speed:    23 Krpsspeed:    14 Krps
yandex-tank_1  | 20:29:44 [INFO] Checking tank resources...
yandex-tank_1  | 20:29:45 [INFO] Starting test...
yandex-tank_1  | 20:29:45 [INFO] using verbose histogram
yandex-tank_1  | 20:29:46 [INFO] Plugin <yandextank.plugins.Phantom.plugin.Plugin object at 0x7f9470549f90> required 0.655622 seconds to start
yandex-tank_1  | 20:29:46 [INFO] Plugin <yandextank.plugins.Autostop.plugin.Plugin object at 0x7f9470578e10> required 0.000337 seconds to start
yandex-tank_1  | 20:29:46 [INFO] Plugin <yandextank.plugins.ShellExec.plugin.Plugin object at 0x7f9470549e10> required 0.000021 seconds to start
yandex-tank_1  | 20:29:46 [INFO] Plugin <yandextank.plugins.Console.plugin.Plugin object at 0x7f9470549550> required 0.000005 seconds to start
yandex-tank_1  | 20:29:46 [INFO] Plugin <yandextank.plugins.RCAssert.plugin.Plugin object at 0x7f94705494d0> required 0.000026 seconds to start
yandex-tank_1  | 20:29:46 [INFO] Plugin <yandextank.plugins.ResourceCheck.plugin.Plugin object at 0x7f9470549f50> required 0.000005 seconds to start
yandex-tank_1  | 20:29:46 [INFO] Plugin <yandextank.plugins.JsonReport.plugin.Plugin object at 0x7f947088ea90> required 0.000005 seconds to start
yandex-tank_1  | 20:29:46 [INFO] Waiting for test to finish...
yandex-tank_1  | 20:29:46 [INFO] Artifacts dir: /var/loadtest/logs/2020-10-25_20-29-39.013273
yandex-tank_1  |  Data delay: 4s, RPS:  11
yandex-tank_1  |  Data delay: 4s, RPS:  11                                   ▃▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇  . Duration: 0:00:22        ETA: 0:29:38
yandex-tank_1  |                                                                                 . 
yandex-tank_1  |  Percentiles (all/last 1m/last), ms:  . HTTP codes:                             . Hosts: docker-desktop => my-address.com
yandex-tank_1  |  100.0% <  446.0  446.0  408.9        . 182 +11  100.00% : 401 Unauthorized     .  Ammo:  
yandex-tank_1  |   99.5% <  446.0  446.0  408.9        .                                         . Count: 90000
yandex-tank_1  |   99.0% <  438.0  438.0  406.2        . Net codes:                              .  Load: line(10, 90, 30m)
yandex-tank_1  |   95.0% <  407.0  407.0  395.7        . 182 +11  100.00% :  0 Success           . 
yandex-tank_1  |   90.0% <  397.0  397.0  382.5        .                                         . Active instances: 5
yandex-tank_1  |   85.0% <  386.0  386.0  375.3        . Average Sizes (all/last), bytes:        . Planned requests: 11.0 for 0:00:00
yandex-tank_1  |   80.0% <  377.0  377.0  368.0        .  Request: 193.3 / 191.5  ▇▇▇▇▇▇▇▇▇▇▇▇▇  . Actual responses: 11
yandex-tank_1  |   75.0% <  373.0  373.0  365.5        . Response: 225.0 / 225.0  ▇▇▇▇▇▇▇▇▇▇▇▇▇  .         Accuracy: 0.00%
yandex-tank_1  |   70.0% <  370.0  370.0  363.0        .                                         .         Time lag: 0:00:00
yandex-tank_1  |   60.0% <  360.0  360.0  357.0        . Average Times (all/last), ms:           . 
yandex-tank_1  |   50.0% <  354.0  354.0  343.3        . Overall: 358.89 / 354.04  ▇▇▇▇▇▇▇▇▆▇▇▇  . 
yandex-tank_1  |   40.0% <  350.0  350.0  341.0        . Connect: 271.90 / 268.99  ▇▇▇▇▇▇▇▇▆▇▇▇  . 
yandex-tank_1  |   30.0% <  344.0  344.0  338.0        .    Send:   0.18 /   0.06  ▇▂▁▁▁▁▁▁_▂__  . 
yandex-tank_1  |   20.0% <  338.0  338.0  338.0        . Latency:  83.76 /  81.69  ▇▇▇▇▇▇▇▇▇▇▇▇  . 
yandex-tank_1  |   10.0% <  333.0  333.0  334.0        . Receive:   3.05 /   3.31  ▇▄▃▁▁_▁▂___▂  . 
yandex-tank_1  |                                                                                 . 
yandex-tank_1  |                                                                                 . 
yandex-tank_1  |  Cumulative Cases Info:                                                         . 
yandex-tank_1  |      name count       % last net_e http_e avg ms last ms                        . 
yandex-tank_1  |  OVERALL:   182 100.00%  +11     0    182  358.8   354.0    ▃▇▇▇▇▇▆▇▇▇▇▇▇▇▇▇▇▇  .
Denisov Kirill
@denisovkv

Привет! Подскажите пжт, после запуска танка в докере создается большой файл

root           12685266944 окт 27 16:16 core.22

Кто-нибудь с таким сталкивался?