You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Web Polygraph负载测试工具运行时长配置方法问询

设置Web Polygraph运行时长的解决方案

我刚好熟悉Web Polygraph的配置逻辑,你说得对,Robot块里确实没有直接的duration或类似的时长配置项,但我们可以通过全局的Runtime配置块来实现测试时长控制,这样测试会自动停止,完全避免手动kill进程导致的数据丢失问题。

具体配置方法

在你的配置文件中添加一个全局的Runtime块,指定测试的总运行时长。比如你需要运行40分钟(即2400秒),可以这么写:

// 全局运行时长配置,控制整个测试的运行时间
Runtime TestRuntime = {
  duration = 2400; // 单位:秒,40*60=2400
};

把这个块添加到你的配置文件中(全局配置不依赖位置,放在Server或Robot块的上方/下方都可以),修改后的完整配置如下:

Content SimpleContent = {
 size = exp(1KB); // response sizes distributed exponentially
 cachable = 100%;
};

// 新增全局运行时长配置
Runtime TestRuntime = {
  duration = 2400; // 运行40分钟
};

Server S1 = {
 kind = "S101";
 contents = [ SimpleContent ];
 direct_access = contents;
 addresses = ['X.X.X.X' ];
};

// a primitive robot
Robot R1 = {
 kind = "R101";
 req_rate = 100/sec;
 interests = [ "foreign" ];
 foreign_trace = "/home/x/trace.urls";
 pop_model = { pop_distr = popUnif(); };
 recurrence = 100% / SimpleContent.cachable;
 origins = S1.addresses;
 addresses = ['X.X.X.X' ];
};

补充说明

  • Runtime是全局配置,会控制整个测试的生命周期,所有Robot都会在达到指定时长后自动停止,此时Web Polygraph会正常生成完整的测试报告,不会丢失任何运行数据。
  • 如果你需要单独控制某个Robot的运行时长(而非全局所有Robot),可以通过计算总请求数的方式,在Robot块中添加max_reqs参数:
    Robot R1 = {
      // 其他配置不变
      max_reqs = 100*2400; // 100req/sec * 2400sec = 240000次请求
    };
    
    不过这种方式依赖请求速率的稳定性,如果你更关注时长而非总请求数,优先推荐使用Runtime全局配置。

内容的提问来源于stack exchange,提问作者py_guy_5

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:26:15