蝗虫负载测试给了我一个编码错误

2024-04-20 07:19:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在对django gunicorn nginx和postgresql应用程序进行负载测试。 在大约1500个并发用户之后,我在我的“蝗虫失败”选项卡中出现以下错误:

1   GET /   ChunkedEncodingError(ProtocolError('Connection broken: IncompleteRead(2773 bytes read, 7467 more expected)', IncompleteRead(2773 bytes read, 7467 more expected)))

我已经检查了所有访问和错误日志(nginx访问和错误日志、gunicorn日志、syslog、postgresql日志),但我找不到与上述错误相关的任何内容。

这是蝗虫的错误吗?是超时错误吗?我似乎找不到哪里出了问题

这是我的蝗虫档案:

from locust import HttpLocust, TaskSet, task, between
from requests.auth import HTTPBasicAuth


class UserBehavior(TaskSet):

    @task(4)
    def index(self):
        self.client.get("", auth=("user", "pass"))

    @task(4)
    def program(self):
        self.client.get("page1/", auth=("user", "pass"))

    @task(1)
    def artist(self):
        self.client.get("page1/sub-page/", auth=("user", "pass"))

    @task(2)
    def tickets(self):
        self.client.get("page2/", auth=("user", "pass"))


class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    wait_time = between(7, 30)

正如你所看到的,我正在使用basicauth来访问页面。我不知道这是否真的导致了大量请求后的错误

是什么导致了这个错误?提前谢谢


Tags: selfclientauthtaskgetbytespostgresqldef
1条回答
网友
1楼 · 发布于 2024-04-20 07:19:33

有人(可能是服务器)似乎正在关闭连接,蝗虫真的不能告诉你更多

关于这个异常,这里还有很多其他问题(一般来说是关于requests lib,而不是hocust),也许其中一个可能会有所帮助

您还可以尝试新的FastHttpOccast,它使用不同的请求库(您很可能仍然会遇到错误,但它可能会说一些不同的话)

可能值得在服务器端检查您的ulimits设置

相关问题 更多 >