【问题标题】:Locust.io Load Testing getting "Connection aborted BadStatusLine" ErrorsLocust.io 负载测试出现“连接中止 BadStatusLine”错误
【发布时间】:2015-10-14 12:49:59
【问题描述】:

我正在使用 Locust.io 对应用程序进行负载测试。我会收到一个无法确定问题的随机错误:

1) ConnectionError(ProtocolError(\'Connection aborted.\', BadStatusLine("\'\'",)),)

2) ConnectionError(ProtocolError('Connection aborted.', error(104, 'Connection reset by peer')),)

第一个是每 1,000,000 个左右的请求发生几次,并且似乎在一次有 5-20 个请求的组中发生,然后就可以了。第二个每隔几天左右发生一次。

CPU 和内存远低于数据库服务器、应用服务器和运行 locust.io 的机器的所有服务器最大负载。

这些服务器是运行 Ubuntu 14.04 的中型 Linode 服务器。该应用程序是 Django 和 PostgreSQL 中的数据库。我已经增加了最大打开文件限制,但我想知道是否需要在服务器上增加可能导致偶尔出现错误的其他内容。

根据我从搜索错误中收集到的信息,它可能与 python 请求库有关。

-任何帮助将不胜感激。

【问题讨论】:

  • 第二个是在客户端或服务器关闭 tcp 连接一段时间后客户端保持沉默但不面对第一个。
  • 您有没有发现问题所在?我在测试时遇到了同样的错误,它发生在我达到 300 RPS 左右时。所有服务器资源使用统计数据都远低于限制,所以我认为这与 locust 或 python 有关。
  • 我有同样的错误 - 通常我在运行超过 100 只蝗虫时会遇到这个错误。
  • 你用什么来服务 Django 应用程序,例如 nginx 后面的 Gunicorn?那里有可能达到您的最大连接数吗?
  • 这里有同样的问题。有人找到答案了吗?

标签: python server python-requests locust


【解决方案1】:

BadStatusLine 很可能是服务器端问题。例如,请参阅此答案https://stackoverflow.com/a/1767954/1591921 这可能是服务器上的某种洪水/DoS 保护。

对等点重置连接也可能是任意数量的事情,但很可能是服务器/网络问题,而不是 loadgen 方面的问题(可能连接空闲时间太长,或者某处存在最大连接年龄)

我认为这个问题没有任何一般性的答案,这完全取决于您的测试系统。

【讨论】:

    猜你喜欢
    • 2020-06-05
    • 1970-01-01
    • 2019-12-21
    • 2014-07-09
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-11
    相关资源
    最近更新 更多