蝗虫负载测试脚本错误-连接异常。',RemoteDisconnected

问题描述 投票:0回答:1

我是Locust负载测试框架的新手,正在将现有的基于Azure云的性能测试C#脚本迁移到Locust的基于Python的脚本。我们的团队几乎完成了脚本的迁移。但是,在我们的负载测试过程中,我们遇到了以下错误,由于CPU利用率高或Locust异常多,导致无法从计算机创建新请求。我们正在使用Locust基于Web的模式运行-详细信息如下所示。这些脚本适用于50至100个用户的较小负载]

错误1-('连接已中止。',RemoteDisconnected('远端封闭的无响应连接',))”]“>

错误2:连接池已满,正在丢弃连接

“ ** **错误3:urllib3.exceptions.NewConnectionError::无法建立新连接:[Errno 110]连接超时****”]

是,我们在实用程序类上使用UrlLibs。但是前两个错误的确似乎是蝗虫。

我们的负载测试配置为:“ 3500个用户,以每秒5个用户的孵化率

”。在Azure的8核,16 Gb Linux Ubuntu虚拟机上本机运行(无docker容器)。在Linux机器上,ulimit设置为50,000。

请帮助我们提出您的想法

样品测试如下

import os 
import sys
sys.path.append(os.environ.get('WORKDIR', os.getcwd()))

from locust import HttpLocust, TaskSet, task
from locust.wait_time import between

class ContactUsBehavior(TaskSet):


    wait_time = AppUtil.get_wait_time_function(2)


    @task(1)
    def post_load_test_contact(self):
        data = { "ContactName" : "Mane"
            , "Email" : "[email protected]"
            , "EmailVerifaction" : "[email protected]"
            , "TelephoneContact" : ""
            , "PhoneNumber" : ""
            , "ContactReason" : "Other"            
            , "OtherComment" : "TEST Comments 2019-12-30"
            , "Agree" : "true"
             }
        self.client.post("app/contactform", self.client, 'Contact us submission', post_data = data)


class UnauthenticatedUser(HttpLocust):
    task_set = ContactUsBehavior
    # host is override-able
    host = 'https://app.devurl.com/'

我是Locust负载测试框架的新手,正在将现有的基于Azure云的性能测试C#脚本迁移到Locust的基于Python的脚本。我们的团队几乎完成了...

python performance-testing locust
1个回答
0
投票

蝗虫的默认HTTP客户端使用python-requests,内部使用urllib3。如果您正在进行大规模测试,则应考虑使用另一个HTTP客户端。 urllib 3(PoolManager)的连接池将重用连接,并在任何给定时间限制每个主机允许多少个连接,以避免累积太多未使用的套接字。因此,您可以调整池:https://urllib3.readthedocs.io/en/latest/advanced-usage.html#customizing-pool-behavior

© www.soinside.com 2019 - 2024. All rights reserved.