25

我正在使用 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 请求库有关。

-任何帮助将不胜感激。

4

1 回答 1

0

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

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

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

于 2019-11-25T10:09:49.493 回答