蝗虫在 2-3 小时后吃 CPU 运行
Locust eats CPU after 2-3 hours running
我有一个正在测试的简单 HTTP 服务器。此服务器与其他 HTTP 服务器和 Cassandra DB 交互。
目前我使用 100 个用户和 1 个 request/s,所以服务器上总共有 100 tps。我注意到 Docker 统计数据是 CPU 使用率越来越高,约 2-3 小时后 CPU 使用率达到 90%,甚至更多。之后我收到了 Locust 的通知,说测量可能不一致。但是延迟并没有增加,所以我不知道为什么会这样。
能否请您提出问题的可能原因?我认为 100 tps 应该由一个 vCPU.
来处理
谢谢,
上午
如果不至少看到一些代码,我们就无法确切地知道问题出在哪里,即便如此,其他因素,如您 运行 所支持或反对的环境、数据或服务器,也可能有额外的影响我们不知道的因素。
您的 Locust 用户的代码可能存在问题,例如内存泄漏,或者他们只是为单个工作人员做太多事情而无法处理那么多用户。对于只进行简单 HTTP 调用的用户,单个 CPU 通常每秒可以处理数千个请求。做更多的事情,你会开始期望减少工人可以处理的事情。也有可能您可能只需要更强大的 CPU(或更多 RAM 或带宽)来按您想要的规模执行您希望它执行的操作。
进行一些分析,看看您是否可以在代码中发现任何低效之处。 运行 较小的测试以查看相同的行为是否在较小的负载下明显。 运行 相同的负载,但在其他 CPU 上有额外的 Locust worker。
也有可能您的数据库无法处理负载。 CPU 使用率的增加可能是由于您的代码处理等待来自数据库的连接的方式。也许数据库可以以可接受的速度维持 80 个用户,但任何额外的用户都会使其越来越落后,然后您的 Locust 用户等待请求数据的时间越来越长。
如需更多建议,请查看 Locust 常见问题解答 https://github.com/locustio/locust/wiki/FAQ#increase-my-request-raterps
我有一个正在测试的简单 HTTP 服务器。此服务器与其他 HTTP 服务器和 Cassandra DB 交互。
目前我使用 100 个用户和 1 个 request/s,所以服务器上总共有 100 tps。我注意到 Docker 统计数据是 CPU 使用率越来越高,约 2-3 小时后 CPU 使用率达到 90%,甚至更多。之后我收到了 Locust 的通知,说测量可能不一致。但是延迟并没有增加,所以我不知道为什么会这样。
能否请您提出问题的可能原因?我认为 100 tps 应该由一个 vCPU.
来处理谢谢,
上午
如果不至少看到一些代码,我们就无法确切地知道问题出在哪里,即便如此,其他因素,如您 运行 所支持或反对的环境、数据或服务器,也可能有额外的影响我们不知道的因素。
您的 Locust 用户的代码可能存在问题,例如内存泄漏,或者他们只是为单个工作人员做太多事情而无法处理那么多用户。对于只进行简单 HTTP 调用的用户,单个 CPU 通常每秒可以处理数千个请求。做更多的事情,你会开始期望减少工人可以处理的事情。也有可能您可能只需要更强大的 CPU(或更多 RAM 或带宽)来按您想要的规模执行您希望它执行的操作。
进行一些分析,看看您是否可以在代码中发现任何低效之处。 运行 较小的测试以查看相同的行为是否在较小的负载下明显。 运行 相同的负载,但在其他 CPU 上有额外的 Locust worker。
也有可能您的数据库无法处理负载。 CPU 使用率的增加可能是由于您的代码处理等待来自数据库的连接的方式。也许数据库可以以可接受的速度维持 80 个用户,但任何额外的用户都会使其越来越落后,然后您的 Locust 用户等待请求数据的时间越来越长。
如需更多建议,请查看 Locust 常见问题解答 https://github.com/locustio/locust/wiki/FAQ#increase-my-request-raterps