【发布时间】:2018-12-13 01:17:36
【问题描述】:
在我的测试中,min_wait 和 max_wait 都设置为 1 秒,我将用户设置为 100,所以我预计 reqs/sec 接近 100。
我知道 Locust 实际上需要等待服务器响应然后发送下一个请求。即使,如果服务器响应快,比如 20 毫秒,结果 TPS 应该接近 100,比如 92。
但实际上是10,如下图所示:
我错过了什么?
我的代码如下:
class UserBehavior(TaskSet):
@task(1)
def list_teacher(self):
self.client.get("/api/mgr/sq_mgr/?action=list_teacher&pagenum=1&pagesize=100")
@task(1)
def list_course(self):
self.client.get("/api/mgr/sq_mgr/?action=list_course&pagenum=1&pagesize=20")
class WebsiteUser(HttpLocust):
task_set = UserBehavior
min_wait = 1000
max_wait = 1000
【问题讨论】:
-
那篇文章中的答案并不能说服我。在我的测试中,您可以从平均响应时间的统计数据中发现我的服务器响应非常快。但是TPS还是比我预想的低很多,甚至不是100TPS,应该是90TPS,为什么是10TPS?
-
你的跨度率是多少?
-
谁知道@Jcyrss - 这可能有很多原因。大多数人认为他们的服务比它更快且可扩展(几乎所有我作为 Locustio 维护者看到这方面的问题时,服务最终都会成为问题)。
-
@Siyu,我尝试了从每秒 10 到 100 的许多孵化率,TPS 在很长一段时间后都无法接近 100。