ввести задержку в запросах вегета - PullRequest
0 голосов
/ 29 октября 2018

Я хочу ввести задержку между запросами POST с использованием Vegeta. Я считаю, что сокращение числа «-rate» не является правильным способом, так как это количество запросов, которые я хочу получить. Есть ли способ включить задержку / сон между запросами?

1 Ответ

0 голосов
/ 09 ноября 2018

Это отличный вопрос; Я искал то же самое, но не видел ни одной такой опции (пока) - то, что я рассмотрел (но не могу проверить сейчас):

  • создайте скрипт genload.sh, который печатает запросы на выполнение в стандартный вывод в формате json (как определено vegeta), в соответствии с желаемым временем (строки отображаются с нужным вам ритмом). Это может быть просто строка оболочки:

    while true; do echo '{method: "GET", url: "http://goku", body: "Punch!" | @base64, header: {"Content-Type": ["text/plain"]}}'; sleep 0.05 | done

    (конечно, это всего лишь 20 запросов / с, поэтому вам понадобится более продвинутая логика для вашего сценария использования)

  • выполнить генератор запросов, транслируя к вегете как запрос-исполнитель: ./genload.sh | vegeta -lazy -target /dev/stdin -format json (.. more options ..)

Я не знаю

  • если это сработает - то есть, если вегета теперь будет подчиняться ритму, диктуемому вашим сценарием ./genload.sh. Если вы попробуете, дайте мне знать!
  • В какой степени это приведет к появлению новых узких мест производительности
  • облегчит ли это вашу жизнь, теперь, когда вам нужно поддерживать скрипт, генерирующий нагрузку.

Если это сработает, дайте мне знать!

...