在蔬菜请求中引入延迟

时间:2018-10-29 05:31:13

标签: post request delay sleep vegeta

我想在使用Vegeta的POST请求之间引入延迟。我认为降低“比率”数不是正确的方法,因为这是我想要的请求数。有什么方法可以在请求之间包含延迟/睡眠吗?

1 个答案:

答案 0 :(得分:0)

这是一个很好的问题;我一直在寻找相同的东西,但是(至今)没有看到任何这样的选择-我考虑过(但现在无法测试):

  • 创建一个脚本genload.sh,该脚本以您希望的定时方式(以所需的节奏显示行)以json格式(由vegeta定义)打印对stdout的请求。甚至可能只是一个shell行:

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

    (当然,这仅以20 req / s的速度进行,因此您将需要针对用例的更高级逻辑)

  • 执行请求生成器,以请求执行者的身份流式传输到vegeta:./genload.sh | vegeta -lazy -target /dev/stdin -format json (.. more options ..)

我不知道

  • 这是否可行-也就是说,如果vegeta现在遵守您的./genload.sh脚本所规定的节奏。如果您尝试,请告诉我!
  • 这将在多大程度上引入新的性能瓶颈
  • 这是否会使您的生活更轻松,因为您现在必须维护一个脚本来生成负载。

如果有效,请告诉我!