首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Locust在运行2-3小时后消耗CPU

Locust在运行2-3小时后消耗CPU
EN

Stack Overflow用户
提问于 2021-10-08 10:12:28
回答 1查看 43关注 0票数 0

我有一个正在测试的简单HTTP服务器。此服务器与其他HTTP服务器和Cassandra DB交互。

目前我使用的是100个用户和1个请求/秒,所以服务器上总共有100个tps。我注意到Docker的统计数据显示CPU使用率越来越高,大约2-3小时后CPU使用率达到90%,甚至更高。在那之后,我收到了一份来自蝗虫的通知,说测量可能不一致。但延迟并没有增加,所以我不知道为什么会发生这种情况。

您能建议这个问题的可能原因吗?我认为100TPS应该由一个vCPU来处理。

谢谢,

上午

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 13:47:37

如果不至少看到一些代码,我们就无法确切地知道哪里出了问题,即使是其他因素,如运行它的环境、数据或服务器,也可能有其他我们不知道的因素。

可能您的Locust用户的代码有问题,例如内存泄漏,或者他们只是做了太多的工作,一个工人无法处理这么多的用户。对于只进行简单HTTP调用的用户,单个CPU通常每秒可以处理数千个以上的请求。做任何比这更多的事情,你就会开始期望减少一个工人可以处理的事情。也有可能您只需要一个更强大的CPU (或者更多的RAM或带宽)来在您想要的规模上做您想要做的事情。

做一些分析,看看你是否能在你的代码中发现效率低下的地方。运行较小的测试,看看在较小的负载下是否存在相同的行为。运行相同的负载,但在其他CPU上使用额外的Locust工作进程。

也有可能你的数据库不能处理负载。CPU使用率的增加可能是由于代码处理等待来自数据库的连接的方式造成的。也许DB可以以可接受的速率支持80个用户,但任何额外的用户都会使其越来越落后,而您的Locust用户则会等待越来越长的时间来请求数据。

有关更多建议,请查看蝗虫常见问题解答https://github.com/locustio/locust/wiki/FAQ#increase-my-request-raterps

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69494176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档