Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 12 09:56
    gorodnov commented #651
  • Sep 10 15:44

    trueival on master

    Update python-test.yml (compare)

  • Sep 10 15:40

    trueival on master

    Update pandas from 1.1.5 to 1.2… fix start_time in shootexec re… LOADSUPPORT-49 fix loop conditi… and 40 more (compare)

  • Sep 10 15:40
    trueival closed #861
  • Sep 10 15:38
    trueival commented #861
  • Sep 08 14:24
    arcadia-devtools synchronize #861
  • Sep 07 14:11
    arcadia-devtools synchronize #861
  • Sep 06 21:10
    arcadia-devtools synchronize #861
  • Sep 06 14:01
    arcadia-devtools synchronize #861
  • Sep 02 10:25
    arcadia-devtools synchronize #861
  • Sep 01 17:09
    Kirill380 edited #862
  • Sep 01 17:09
    Kirill380 opened #862
  • Aug 31 12:07
    arcadia-devtools synchronize #861
  • Aug 11 14:23
    arcadia-devtools synchronize #861
  • Aug 05 09:20
    arcadia-devtools synchronize #861
  • Aug 04 00:11
    fomars synchronize #861
  • Aug 02 09:50
    arcadia-devtools synchronize #861
  • Jul 30 14:22
    arcadia-devtools synchronize #861
  • Jul 29 14:57
    fomars reopened #861
  • Jul 29 14:57
    fomars closed #861
Alexander Khovanskiy
@Khovanskiy5
добрый вечер, а может кто-то объяснить, как читать в графике квантили нижнии сноски где rps avg 100% 99% 98% 95 и тд что такое rps и avg понятно а вот что это за проценты
Timur Torubarov
@nettorta
@Khovanskiy5 это процентили времен ответов
если вопрос в том что это такое, то:
в указанную точку на графике может выполниться условно N запросов, при этом как правило всегда бывает какой-нибудь тормозной хвост, который учитывать не хочется
98й процентиль - это время, в которое укладывается 98 процентов всех запросов за эту точку на графике (на коротких тестах это обычно 1 секунда)
агрегатор танка считает такую статистику для каждой секунды.
Ilya Nevmyvaka
@w1nsun
Добрый день, рябят, подскажите есть ли какой-то гайд по тому как расщифровывать графики в https://overload.yandex.net/ после проведения тестов? потому как гугл не особо помогает в этом вопросе.
Ilja
@morozen
@w1nsun Добрый. Есть хороший доклад: https://www.youtube.com/watch?v=gws7L3EaeC0 , как опорная точка.
Ilya Nevmyvaka
@w1nsun
спасибо, доклад немного прояснил
Igor Malyuk
@malyusha
Привет, подскажите, а можно как-нибудь долбить один маршрут, но с постоянно меняющимся заголовком?
Например, /account путь, но Authorization постоянно изменяющийся токен?
Alex A Linch
@ALEXLINCHEVSKY
Если с помощью Phantom, можно, но вам нужно создать длинный список в файле ammo.txt. где будут указаны все интересующие вас токены
А если токен нужно считывать из response, то нужен либо jmeter, либо Gatling, либо BFG
Если в фантоме, то можно упереться в объём диска на генераторе, если из несколько , то разграничить ammo файл между генераторами
Alex A Linch
@ALEXLINCHEVSKY
подскажите, можно ли вытащить графики из overload для некой отчетной документации Б так что бы не руками выпиливать графики?
Taurreason
@Taurreason
Всем привет! Я пыталась интегрировать тест Jmeter в Яндекс Танк, и возникла проблема с отображением потоков. Может кто-то с этим сталкивался? настройка конфигурации файла load.yaml верная?
  enabled: true
  operator: hybris
  package: yandextank.plugins.DataUploader
  token_file: "token.txt"
phantom: 
  enabled: false
telegraf:
  enabled: false
console:
  enabled: true
jmeter:
  enabled: true
  package: yandextank.plugins.JMeter
  jmx: /home/hybris/yandextank/utkonos.jmx
  jmeter_path: /home/hybris/jmeter/apache-jmeter-5.2.1/bin/jmeter
  jmeter_ver: 5.2
  buffered_seconds: 0
  ext_log: none
rcheck:
  mem_limit: 3048
  disk_limit: 4096
image.png
Alex A Linch
@ALEXLINCHEVSKY
@Taurreason не очень читабельно вывел код
поставь его в символы ` - 3 раза в начале и 3 раза в конце кода
Taurreason
@Taurreason
@ALEXLINCHEVSKY спасибо)
Alex A Linch
@ALEXLINCHEVSKY
@Taurreason вроде потоки JMeter в консоли ЯТ не отображаются и вопрос почему отключен сборщик данных с мишени?
telegraf:
  enabled: false
так то сборщик не работает если к мишени нет доступа по ssh
Taurreason
@Taurreason

@ALEXLINCHEVSKY
включила

enabled: true

но ничего не изменилось.
потоки выводить должен

Taurreason
@Taurreason
судя по логам, файл .jmx видит, но потоки не выводит. Overload пустой
Alex A Linch
@ALEXLINCHEVSKY
Отсюда следует, что либо оставить как есть. Либо дописать обвязку, что данные о потоках яндекс.танк мог вычитывать из JMeter
Taurreason
@Taurreason
@ALEXLINCHEVSKY а есть пример?
dummer232
@dummer232
Добрый вечер, всем!
А как можно протестировать внутренние ресурсы (внутренние сайты или отдельно tomcat instance)
Я прописал address: sd-test-tomcat:8080, В ответ получаю [Errno -2] Name or service not known
Timur Torubarov
@nettorta
@dummer232 укажите FQDN до вашего хоста
John-Beam
@John-Beam
День, добрый. Есть вопрос - я не спец по танку но заказчик меня носом в него тыкает и я не могу ничего противопоставить в ответ. Подскажите плиз. Я поставил баллансировщик перед приложением и заказчик утверждает что баллансировщик не держит нагрузку. А мне думается что всё дело в том что его приложение тупитю. https://clck.ru/LSpWj Помогите понять прав я или нет?
MilyaushaV
@MilyaushaV
Доброй ночи) для одновременных get + post запросов только ammo_type: phantom подходит? https://yandextank.readthedocs.io/en/latest/tutorial.html#request-style
hellboy81
@hellboy81
Привет. Подходит ли Яндекс танк для стресс тестов?
Alex A Linch
@ALEXLINCHEVSKY
Зависит от сценария. Если статика через Phantom. То можно долбануть максимален со своего генератора. Везде по разному , где-то 20 000 tps, а где-то и 180 000 tps. Зависит от мощности генератора.
На сложных сценариях типа Jmeter Gatling BFG Pandora , там мощности гораздо меньше. Но стресануть систему в принципе реально
Ilja
@morozen
@John-Beam почему бы не проверить приложение напрямую, без балансировщика. Создайте одинаковые условия для обоих сценариев. Результат даст понять, что именно тупит.
saltiveratia
@saltiveratia
Добрый вечер
В доке phantom написано, что он не предназначен для работы с человекочитаемыми репортами и является просто нагрузочным инструментом. Пыталась найти есть ли готовые инструменты танка для проверки ответа сервера хотя бы на тип данных. В задаче нужно убедиться что отдаётся действительно JSON
JMeter как генератор не рассматриваем пока, только фантом
saltiveratia
@saltiveratia
Помогите, пожалуйста.
saltiveratia
@saltiveratia

~$ sudo add-apt-repository ppa:yandex-load/main && sudo apt-get update

More info: https://launchpad.net/~yandex-load/+archive/ubuntu/main
Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keybox '/tmp/tmptr1qpatx/pubring.gpg' created
gpg: /tmp/tmptr1qpatx/trustdb.gpg: trustdb created
gpg: key 0CDB03F8CB37D8D1: public key "Launchpad PPA for Yandex Load Team" imported
gpg: Total number processed: 1
gpg: imported: 1
gpg: no valid OpenPGP data found.
Hit:1 http://deb.debian.org/debian buster InRelease
Hit:2 http://deb.debian.org/debian buster-updates InRelease
Hit:3 http://security.debian.org/debian-security buster/updates InRelease
Hit:4 http://ftp.debian.org/debian buster-backports InRelease
Ign:5 http://ppa.launchpad.net/yandex-load/main/ubuntu focal InRelease
Err:6 http://ppa.launchpad.net/yandex-load/main/ubuntu focal Release
404 Not Found [IP: 91.189.95.83 80]
Reading package lists... Done
E: The repository 'http://ppa.launchpad.net/yandex-load/main/ubuntu focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

GolivetsAndreu
@GolivetsAndreu
phantom:
  address: 127.0.0.1:3030
  uris:
    - /
  load_profile:
    load_type: rps
    schedule: line(1, 10, 2m)
  writelog: all
  headers:
    - "[Host: 127.0.0.1]"
console:
  enabled: true
telegraf:
  enabled: true
overload:
  enabled: true
  job_name: test
  job_dsc: test description
  token_file: token.txt
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.7/dist-packages/yandextank/core/consoleworker.py", line 382, in run
self.core.plugins_prepare_test()
File "/usr/local/lib/python3.7/dist-packages/yandextank/core/tankcore.py", line 253, in plugins_prepare_test
plugin.prepare_test()
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/DataUploader/plugin.py", line 270, in prepare_test
self.core.job.subscribe_plugin(self)
File "/usr/local/lib/python3.7/dist-packages/yandextank/core/tankcore.py", line 61, in subscribe_plugin
monitoring_plugin.add_listener(plugin)
File "/usr/local/lib/python3.7/dist-packages/yandextank/plugins/Telegraf/plugin.py", line 218, in add_listener
return self.monitoring.add_listener(plugin)
AttributeError: 'NoneType' object has no attribute 'add_listener'
GolivetsAndreu
@GolivetsAndreu
Подскажите в чем может быть проблема?
Ivan Tolstosheyev
@itroot

@DannyMartyn

Привет! Помогите, пожалуйста, столкнулся с такой проблемой:
alt
title

Привет! Overload does not support fractional loadschemes yet у тебя получалась из-за float? У меня это происходит из-за выставления составной схемы нагрузки в пандоре:

        rps:
          - {duration: 10s, type: const, ops: 5}
          - {duration: 10s, type: const, ops: 1}
konovalovvlad2
@konovalovvlad2
Все привет. Подскажите, как можно отправлять json данные POST? В доках не нашел
Plombirius
@Plombirius
@konovalovvlad2 использовать jmeter в качестве генератора нагрузки?
Я тут туплю с танком, где можно изменить хост для yandex-tank и yandex-tank-check-ssh c example.org на нужный мне? я слеп и в документации не нашел.
Andrey Filatov
@afilatov

@konovalovvlad2

Все привет. Подскажите, как можно отправлять json данные POST? В доках не нашел

Если в формате uripost, то примерно так

[Host: example.org]
[Content-type: application/json]
[User-Agent: Tank]
18 /route
{"simple": "json"}
26 /route tag1
{"simple": ["json", "#2"]}

Если в формате phantom, то как-то так (только его лучше генераторами генерить):

145 
POST /route HTTP/1.1
Host: example.org
Connection: Keep-Alive
Content-Length: 26
Content-Type: application/json

{"simple": ["json", "#2"]}
Andrey Filatov
@afilatov

@Plombirius

Я тут туплю с танком, где можно изменить хост для yandex-tank и yandex-tank-check-ssh c example.org на нужный мне? я слеп и в документации не нашел.

Возможно неправильно понял вопрос (нужно чуть больше контекста), но у yandex-tank-check-ssh есть аргумент

'-e', '--endpoint', default='example.org', help='which host to try'

https://github.com/yandex/yandex-tank/blob/4fe054cc0c7f1f42d56e34d1c05a44075cdef78f/yandextank/common/util.py#L124

Plombirius
@Plombirius
@afilatov спасибо! именно это и спрашивал. Не догадался как то в коде аргументы поискать.
konovalovvlad2
@konovalovvlad2

@afilatov спасибо большое. У меня вопрос. Вот мой ammo.txt

[Content-Type: application/json]

240 /api/v1/addUserTest
{
   "api_key":"2081b837b451ea0ad723fbe8d2aca5",
   "userData": {
       "email": "",
       "username": "",
       "plainPassword": {
          "first":"123",
          "second":"123"
       },
       "nickname": "sample_nickname",
   }
}

Мне надо сгенерерить таких записей в этом файле около 5000 или 10000, не важно. Мне важно чтобы email и username менялись при каждом обстреле сервера. Т.е. если у меня в конфиге const (10, 1m), то мне надо 600 таких записей с уникальными email и username . Как мне его сгенерить ?

phantom:
  address: host:443
  ammo_type: uripost
  ammofile: config/api_add_user.txt
  load_profile:
    load_type: rps
    schedule: const(10,1m)
  ssl: true
console:
  enabled: true
telegraf:
  enabled: false
QABiZone
@QABiZone
коллеги - можно ли послать в phantom HTTPS - запросы ?