Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Alexey Lavrenuke
@direvius
ответил в чатике танка
Michał Nowotka
@mnowotka
Hi guys!
thanks for this project
I'm trying to install it
go get github.com/yandex/pandora
cd $GOPATH/src/github.com/yandex/pandora
dep ensure
go install
this went all fine but now:
pandora
-bash: pandora: command not found
I can do:
go run main.go load.yml and it works fine
but I was kind of expecting that after executing go install I'll get a command available in my system or at least in the current dir
Pavel Drankov
@Sammers21
are you able to find it here /usr/bin/pandora ?
Michał Nowotka
@mnowotka
nope, that's the thing
I have /usr/bin on my PATH
as expected
Michał Nowotka
@mnowotka
also, do you know what kind of gun supports SSL?
I can't specify any https target
Dmirtiy Sibilkov
@sibilkov
В общем у меня есть примерно такой сценарий который я использую в жиметре (сценариев подобных много, на разные моменты но принцип похож), хотелось-бы узнать возможно ли это в принципе реализовать это в пандоре (и если да, то где почитать КАК это сделать):
Залогинились случайным пользователем (одним из пары тысяч), записали в куки что залогинились
Запросили список доступных абоненту сервисов
Получили json со списком сервисов, вынули из него список id, взяли случайный id, запомнили
Запросили список устройств в сервисе вписав его id(который вынули из json в предыдущем пункте) в запрашиваемый урл
Получили json со списком устройств, вынули из него список id, взяли случайный id, запомнили
Запросили данные из тайм-сериес базы по устройству, вписав его айдишник (который вынули из jsonа в предыдущем пункте) в запрашиваемый урл
получили большой кусок данных который нас не интересует
Написали в базу по устройству 100500 рандомных цифр
Разлогинились
Прикол в том что там очень много рандомных ид, которые нужно вставлять в урлы по-пути вынимая их из предыдущих запросов
Достичь нужно нагрузки примерно в 5к рпс, жиметр на паре машин с 16гб памяти сыпется на 1,5к, память забивается вся полностью, в общем я в полнейшем замешательстве.
Alexey Lavrenuke
@direvius
@sibilkov почитать пока негде. А сделать можно, написав свой код на Golang, наподобие https://github.com/yandex/pandora/blob/develop/examples/custom_pandora/custom_main.go
@mnowotka set ssl: true in http gun
Alexey Lavrenuke
@direvius
FYI: перетащили скудную (пока) документацию по Пандоре на RTD, добавили раздел про тесты производительности Pandora: http://yandexpandora.readthedocs.io/en/develop/performance.html
botov
@botov
Hi guys! Could you advice how to prepare HTTP2 ammo? In particular I am interested in some binary data POSTing. Have not found any worth examples/documentation so far. Looking forward to your reply!
botov
@botov
Eventually managed to do with BFG in conjunction with yandex-tank, config_type=ultimate
mishunn
@mishunn
how can i make http2 post request using client certificate?
mishunn
@mishunn
@direvius подскажите как должен выглядеть raw для POST HTTP2 и можно ли использовать клиентские сертификаты?
Alexey Lavrenuke
@direvius
@mishunn давно не стрелял в H2, насколько я помню, так же как и для HTTP
Vasiliy
@webchi
а можно как-то без ammo: запустить?
Vasiliy
@webchi
копец.. надо ещё в ammo.uri сунуть /
lebovski
@lebovski
Всем привет, возникла потребность в дополнительных флагах для пандоры. Можно ли как то их пробросить при обстреле через танк?
lebovski
@lebovski
например у jmetr есть args (https://yandextank.readthedocs.io/en/latest/config_reference.html#args-string), можно ли сделать подобное для пандоры?
Vasiliy
@webchi
как оно?
Vasiliy
@webchi
давно пандорой не пользовался
WARN    phttp/base.go:116    Request fail    {"pool": "HTTP pool", "instance": 5, "error": "remote error: tls: handshake failure"}
Vasiliy
@webchi
чёт поход через клаудфлер не пролезть
Vasiliy
@webchi
Vladislav Popov
@WhatIsLooove

Всем привет, подскажите как запустить Пандору через Яндекс танк?
Отдельно она запускается без проблем, а вот уже с яндексом не хочет
Unable to start Pandora binary and/or file does not exist: ['pandora', '-expvar', '/var/loadtest/logs/2020-09-15_14-00-58.862496/pandora_config_VZyd7a.yaml']
вот ответ консоли ^
А вот файл load.yaml
autostop:
autostop: []
enabled: true
package: yandextank.plugins.Autostop
pandora:
enabled: true
package: yandextank.plugins.Pandora
config_content:
pools:

      - id: HTTP pool                    # Pool name
        gun:
            type: http                     # Gun type
            target: myHost.com:8888        # Gun target
        ammo:
            type: uri                     # Ammo format
            file: ./ammo.uri                              # Ammo File
        result:
            type: phout                    # Report format (phout is for Yandex.Tank)
            destination: ./phout.log  # Report file name
        rps:                             # RPS Schedule
            type: line
            from: 1
            to: 50
            duration: 60s
        startup:                         # Startup Schedule
            type: once                 # start Instances periodically
            times: 10

console: {enabled: true, package: yandextank.plugins.Console}
telegraf:
enabled: false
phantom:
enabled: false
package: yandextank.plugins.Phantom
Устанавливал все компоненты по руководству https://yandexpandora.readthedocs.io/en/develop/install.html

Andrey Filatov
@afilatov
Если в консоли вызвать pandora она запустится? Есть ощущение, что $GOPATH/bin (или где у вас лежит бинарь пандоры) не прописан в $PATH
Vladislav Popov
@WhatIsLooove
если я открою бинарь Пандоры которую собрал запустится тест @afilatov
Andrey Filatov
@afilatov
@WhatIsLooove Попробуйте прописать путь до бинарника pandora в конфигурации танка pandora_cmd https://yandextank.readthedocs.io/en/latest/config_reference.html#pandora-cmd-string
Vladislav Popov
@WhatIsLooove
@afilatov это тоже не помогало, писал путь до бинарна в файле load.yaml и ошибка была такая же, только в скобках ['pandora', '-expvar', '/var/loadtest/logs/2020-09-15_14-00-58.862496/pandora_config_VZyd7a.yaml'] было не Пандора а весь путь который был в Pandora_cmd
@afilatov причем запуск бинарника по этому пути отрабатывал корректно и запуск нагрузки был
Pavel Tsvetkov
@pavelblossom
Подскажите, тестил ли кто pandora на пост запросы с телом, заголовками. Такое ощущение что для этого подойдет стандартная пушка, но не нашел в документации как правильно ammo составить. Поделитесь примером пожалуйста
Pavel Tsvetkov
@pavelblossom

@pavelblossom https://yandextank.readthedocs.io/en/latest/tutorial.html#uri-post-style ?

спасибо, это я видел. Я только не пойму как бодик json записать чтобы прочиталось норм

Sergey Kononenko
@hackfeed
Всем привет! Не подскажете, почему Танк не видит пандоровский бинарь? Подключаюсь в контейнер, все ок, файлы на месте, но тест не стартует.
yandex-tank_1  | 00:26:07 [INFO] Starting: ['/var/loadtest/binary/ammo', '/var/loadtest/logs/2020-12-14_00-25-45.628422/pandora_config_EOc012.yaml']
yandex-tank_1  | 00:26:08 [ERROR] Test interrupted:
yandex-tank_1  | <type 'exceptions.RuntimeError'>: Unable to start Pandora binary and/or file does not exist: ['/var/loadtest/binary/ammo', '/var/loadtest/logs/2020-12-14_00-25-45.628422/pandora_config_EOc012.yaml']
Anton Dzyk
@adzyk
Всем доброго дня! Пытаюсь нагрузить через pandora(без танка), и в phout.log в параметрах connect_time, send_time, latency, receive_time, interval_event, size_out, size_in, net_code нули, а в interval_real, proto_code - время и 200 код. Почему может быть так? Версия 0.3.2, собирал из исходников.
1 reply
Renat Berezovsky
@BrRenat
Добрый день, в пандоре можно треды наращивать линейно? Не понятно как они скейлятся. Запускаю once, но там сначала 1 тред висит секунд 10 потом поднимаются разом все остальные.
8 replies
Grigorii
@GSokol
Добрый день, подскажите, а патроны можно брать только по подному? Нельзя ли сделать 10 патронов и использовать их в случайном порядке?
1 reply
Nikita
@nikwo
Добрый день, использую кастомный ган, пытаюсь в репорт передать кастомный сампл. На это возвращает ошибку: core.Sample is main.Sample, not *netsample.Sample". Правильно ли я понимаю, что необходимо сделать кастомный аггрегатор, который сможет обрабатывать кастомные поля сампла?