robot-piglet on arcadia
better (compare)
robot-piglet on arcadia
Add .md extension for AUTHORS a… (compare)
robot-piglet on arcadia
YANDEXTANK-583: reincarnation o… (compare)
robot-piglet on arcadia
PR for branch feature/YANDEXTAN… (compare)
robot-piglet on arcadia
IGNIETFERRO-1816 Update Python … (compare)
robot-piglet on arcadia
YANDEXTANK-579: Single TankWork… (compare)
robot-piglet on arcadia
jmeter and base version both fi… (compare)
arcadia-devtools on arcadia
rm converter tests ref:ef1e917… (compare)
arcadia-devtools on arcadia
DTCC-910 adaptation for piglet … (compare)
arcadia-devtools on arcadia
Remove irrelevant .arcignore r… (compare)
arcadia-devtools on arcadia
Remove empty file ref:f31d8414… (compare)
arcadia-devtools on arcadia
minus Android plugin ref:34ac1… (compare)
arcadia-devtools on arcadia
Fix style ref:40a5090e43ea3f19… (compare)
arcadia-devtools on arcadia
YANDEXTANK-575: TankWorker inhe… (compare)
arcadia-devtools on arcadia
PR for branch feature/YANDEXTAN… (compare)
arcadia-devtools on arcadia
CLOUDLOAD-266 instance autostop… (compare)
arcadia-devtools on arcadia
CLOUDLOAD-215 Fix API Client se… (compare)
adm@adm:~$ yandex-tank -c load.yaml ammo.txt
Коллеги, а что у меня поломалось? Работало все ок, а потом стал получать вот такое.
Удалял и ставил танr заново. Не помогает
[jtank@TestingGround home]$ yandex-tank -v
Traceback (most recent call last):
File "/usr/local/bin/yandex-tank", line 11, in <module>
load_entry_point('yandextank==1.12.8.1', 'console_scripts', 'yandex-tank')()
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 476, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2700, in load_entry_point
return ep.load()
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2318, in load
return self.resolve()
File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2324, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python3.6/site-packages/yandextank/core/__init__.py", line 4, in <module>
from .tankcore import TankCore # noqa:F401
File "/usr/local/lib/python3.6/site-packages/yandextank/core/tankcore.py", line 25, in <module>
from yandextank.plugins.DataUploader.client import LPRequisites
File "/usr/local/lib/python3.6/site-packages/yandextank/plugins/DataUploader/__init__.py", line 1, in <module>
from .plugin import Plugin # noqa:F401
File "/usr/local/lib/python3.6/site-packages/yandextank/plugins/DataUploader/plugin.py", line 23, in <module>
from ..Autostop import Plugin as AutostopPlugin
File "/usr/local/lib/python3.6/site-packages/yandextank/plugins/Autostop/__init__.py", line 1, in <module>
from .plugin import Plugin # noqa:F401
File "/usr/local/lib/python3.6/site-packages/yandextank/plugins/Autostop/plugin.py", line 8, in <module>
from ..Console import Plugin as ConsolePlugin
File "/usr/local/lib/python3.6/site-packages/yandextank/plugins/Console/__init__.py", line 1, in <module>
from .plugin import * # noqa:F401,F403
File "/usr/local/lib/python3.6/site-packages/yandextank/plugins/Console/plugin.py", line 7, in <module>
from .screen import Screen
File "/usr/local/lib/python3.6/site-packages/yandextank/plugins/Console/screen.py", line 1018
Unable to access to JMeter executable file or it does not exist: /usr/local/apache-jmeter-5.2.1/bin/jmeter
@nettorta да, путь сходится
Пробовал сейчас вот сюда установить:
/home/tank/apache-jmeter-5.2.1/bin/jmeter
Если таким образом запускать только JMeter, то этот путь работает и JMeter стартует тест:/home/tank/apache-jmeter-5.2.1/bin/jmeter -n -t ReloadTest.jmx -l result-1.jtl -e -o ./result-1
В load.yaml прописал:
phantom:
enabled: false
jmeter:
enabled: true
jmx: ReloadTest.jmx
buffered_seconds: 10
jmeter_path: /home/tank/apache-jmeter-5.2.1/bin/jmeter
jmeter_ver: 5.2
ext_log: all
overload:
enabled: true
package: yandextank.plugins.DataUploader
token_file: "token.txt"
При запуске получаю ошибку
06:49:54 [ERROR] Test interrupted:
<type 'exceptions.RuntimeError'>: Unable to access to JMeter executable file or it does not exist: /home/tank/apache-jmeter-5.2.1/bin/jmeter
@bahodir-annaev одним из вариантов может быть нехватка instances, т.е. одновременного кол-ва соединений. По дефолту в танке оно равно 1000
https://yandextank.readthedocs.io/en/latest/config_reference.html#id20
Подскажите по образу яндекс-танка с jmeter, он почему-то подвисает при остановке и ctrl+c не помогает
docker run --rm -v $(pwd):/var/loadtest --net host -it direvius/yandex-tank:jmeter-latest
No handlers could be found for logger "netort.resource"
15:12:27 [INFO] New test id 2020-03-17_15-12-27.791237
15:12:27 [INFO] Logging handler <logging.StreamHandler object at 0x7f65fabb9850> added
15:12:27 [INFO] Logging handler <logging.StreamHandler object at 0x7f65fab5da50> added
15:12:27 [INFO] Created a folder for the test. /var/loadtest/logs/2020-03-17_15-12-27.791237
15:12:27 [INFO] Configuring plugins...
15:12:27 [INFO] Loading plugins...
15:12:27 [INFO] Preparing test...
15:12:27 [INFO] Checking tank resources...
15:12:28 [INFO] Starting test...
15:12:28 [INFO] using verbose histogram
15:12:28 [INFO] Plugin <yandextank.plugins.JsonReport.plugin.Plugin object at 0x7f65fab36e10> required 0.000272 seconds to start
15:12:28 [INFO] Plugin <yandextank.plugins.Autostop.plugin.Plugin object at 0x7f65fab71f10> required 0.000024 seconds to start
. ~~~~~~~~~~~~~~~~~~~~~~~~ JMeter Test | ~~~~~~~~~~~~~~~~~~~~~~~~
. ~~~~~~~~~~~~~~~~~~~~~~~~ JMeter Test / ~~~~~~~~~~~~~~~~~~~~~~~~
Data delay: 4s, RPS: 46 ▅▇ . Test Plan: modeus.jmx
. Duration: 0:00:11
Percentiles (all/last 1m/last), ms: . HTTP codes: . Active Threads: 2
100.0% < 1,015.0 1,015.0 171.0 . 72 +45 96.00% : 200 OK . Responses/s: 46
99.5% < 1,015.0 1,015.0 171.0 . 3 +1 4.00% : 500 Internal Server Error .
99.0% < 1,015.0 1,015.0 166.0 . .
95.0% < 177.0 177.0 103.0 . Net codes: .
90.0% < 109.0 109.0 81.5 . 72 +45 96.00% : 0 Success .
15:12:40 [INFO] Finishing test...
15:12:40 [INFO] Stopping load generator and aggregator
конфиг
phantom:
enabled: false
jmeter:
enabled: true
package: yandextank.plugins.JMeter
jmx: load.jmx
buffered_seconds: 0
ext_log: none
variables:
protocol: https
host: example.org
thread_rpm: 2
loops: 20
console:
enabled: true # enable console output
telegraf:
enabled: false # let's disable telegraf monitoring for the first time
У меня тоже тест c JMeter зависает на этапе остановки генератора:
docker run --entrypoint /bin/bash -v ${PWD}:/var/loadtest -v ${HOME}/.ssh:/root/.ssh -it direvius/yandex-tank:jmeter-latest
Yandex.Tank Docker image
[tank]root@2fb9f3d88afa: /var/loadtest # yandex-tank
.
20:24:44 [INFO] Finishing test...
20:24:44 [INFO] Stopping load generator and aggregator
При нажатии на ctrl-c появляется еще одна строчка, и более ничего20:40:54 [WARNING] Interrupting
Привет. Использую танк с пандорой. Пандора из девелоп ветки. Танк latest из docker hub. В overload почему-то что-то не доходит, в частности информация об rps(https://overload.yandex.net/260950). Но нагрузка генерируется. Вижу по логам танка и мишеней.
Танк с фантомом работает исправно.
Конфиг пандоры:
pools:
- id: Fabric Gun
gun:
type: fabric-gun
ConnProfilePath: "./connectionProfile.json"
ammo:
type: fabric-chaincode
source:
type: file
path: ./json.ammo
result:
type: phout
destination: ./phout.log
rps: {duration: 20s, type: line, from: 1, to: 10}
startup:
type: once
times: 10
log:
level: info
monitoring:
expvar:
enabled: false
port: 1234
cpuprofile:
enabled: false
memprofile:
enabled: false
Конфиг танка:
overload:
enabled: true
package: yandextank.plugins.DataUploader
token_file: "token.txt"
phantom:
enabled: false
pandora:
package: yandextank.plugins.Pandora
enabled: true
pandora_cmd: ./pandora-fabric # Pandora executable path
config_file: load.yaml # Pandora config path
Есть идеи в чем проблема? Спасибо
Я так понимаю expvar
включает telegraf. Я им вообще никогда не пользовался. Разве он нужен для отправки rps в overload?
В логах нашел файл test_data.log
, в котором видна моя проблема. Вот такие значения для теста в пандорой:
{"stats": {"metrics": {"instances": 0, "reqps": 0}, "ts": 1585316225}, "data": {"counted_rps": 9, ...}
И вот значения для теста с фантомом:
{"stats": {"metrics": {"instances": 1, "reqps": 4.0}, "ts": 1585067356}, "data": {"counted_rps": 4, ...}
Почему-то reqps
в случае пандоры всего ноль, хотя counted_rps
отличен от нуля.
ничего специфичного, висит вот так бесконечно и не умирает по ctrl+c, не отцепляется по ctrl+z, приходится убивать через kill -9
19:16:22 [WARNING] API error, will retry in 10s...
19:16:32 [WARNING] API error, will retry in 10s...
19:16:43 [WARNING] API error, will retry in 10s...
19:16:55 [WARNING] API error, will retry in 10s...