Locust分布式节点Worker日志被截断,如何取消该限制?
取消Locust分布式Worker日志行数限制的方法
你遇到的是Locust默认对Worker节点日志上报的行数限制,有两种方式可以取消或调整这个限制:
1. 修改日志行数阈值
直接修改runners.py里的判断逻辑,调整或移除行数限制:
- 找到Locust安装路径下的
runners.py文件(比如虚拟环境的lib/pythonX.X/site-packages/locust/runners.py) - 定位到
logs_reporter函数中的这段代码:if (len(current_logs) - len(self.logs)) > 10: logger.warning( "The worker attempted to send more than 10 log lines in one interval. Further log sending was disabled for this worker." ) self._send_logs(get_logs()) break - 把判断条件里的
10改成你需要的上限值(比如100),或者直接注释掉整个if代码块(包括break语句),彻底取消这个限制。
2. 调整日志上报间隔
通过增大日志上报的时间间隔,减少单个周期内产生的日志行数,从而避免触发限制:
- 环境变量方式:启动Worker前设置
LOCUST_WORKER_LOG_REPORT_INTERVAL环境变量,比如Linux/macOS下执行:
Windows下可以在命令行设置:export LOCUST_WORKER_LOG_REPORT_INTERVAL=5
这里的set LOCUST_WORKER_LOG_REPORT_INTERVAL=55表示间隔5秒上报一次日志,可根据需求调整。 - 源码修改方式:直接修改
runners.py中WORKER_LOG_REPORT_INTERVAL常量的默认值,将其从默认的1(秒)改成更大的数值。
原代码的这个限制是为了避免Worker向Master发送过多日志导致网络压力过大,如果你确认自己的场景需要更多日志输出,就可以用上面的方法调整。
内容的提问来源于stack exchange,提问作者Puran
相关产品推荐
相关产品推荐

