每分钟有多少请求被视为"重负载"?(近似)

Ale*_*lex 30 server-load

很多时候人们会在他们(优化和表现相关)的问题和谈话中谈论"重负荷".

我试图在典型服务器上的常规Web应用程序(以SO及其相当小的基础架构为例)中对每个分钟的请求进行量化,假设它们立即返回(以简化和获取数据库速度)超出等式).

我正在寻找一个名义上的数字/范围,而不是'CPU最大值'或类似的地方.粗略的近似值很大(例如> 5000/min).谢谢!

Vin*_*vic 39

考虑到您不希望硬件负载测量(CPU,内存,IO利用率),我认为对此的正确答案是,重负载是指每个时间单位的请求数量达到或超过所需的最大数量每个时间单位的请求.

所需的最大请求数量是与客户或负责整体架构的任何人一起定义的.

假设X是应用程序所需的最大负载.我觉得这样的事情会接近答案:

0 < Light Load < X/2 < Regular Load < 2X/3 < High Load < X <= Heavy Load

凭空捏造一个数字的东西是它与你的应用程序没有任何关系.重负荷是完全,绝对,不可避免地与应用程序应该做的事情联系在一起.

虽然每秒200个请求是一个负载,可以保持小型Web服务器忙(约12000分钟).


Mat*_*att 5

这不是一个可以用简单的请求/分钟数来回答的直截了当的问题。

在电信领域,我们经常做性能测试,我们模拟每秒运行大量调用来尝试找出限制。我们不断提高呼叫率,直到服务器跟不上。

因此,这取决于您的服务器及其可以处理的内容。这也取决于你的观点。例如,一个旧的 386 可能每分钟只能处理 50 个请求。我称之为轻负载。但是一个高规格的服务器可能能够处理 60000 个请求/分钟。这只是猜测。我不知道 Apache 是否可以做到这一点。我们的电信软件当然可以。

我认为最好从服务器的角度来回答这个问题。我会说非常重的负载是指您的服务器能够处理持续几分钟或几十分钟的负载的 10%。15%以内的重载。


d.s*_*iev 5

每秒几百个请求.

大多数服务器的开箱即用数量通常为每秒256或更少,256每秒的ergo 请求数.您可以将其推送到2000-5000ping请求或500-1000轻量级请求.使其更高是非常困难的,并且需要在网络,硬件,OS,服务器应用程序和用户应用程序中一直进行更改(参见问题10k).

对于固态硬盘,寻求速度+延迟约为1-10毫秒0.1-1 ms.所以,这是100-100 000IOPS.让我们把它100 000作为最高价值(SSD后续写)

通常连接保持打开至少1 x latency valuems.从客户端到服务器的延迟很少低于50-100 ms,因此只有100 000/50= 2000IOPS才能创建新连接.

因此,2000来自不同客户端的每秒ping请求是普通服务器的基本上限.它可以通过使用RAM磁盘或添加更多SSD来提高IOPS数量,路由请求以减少ping,更改/修改OS以减少内核开销等等.通常它也会因为来自同一客户端(连接)的许多请求而更高客户数量有限.在良好的条件下,它可以达到数十万

另一方面,更高的ping,应用程序执行时间,操作系统和硬件缺陷可以轻松地将基值降低到每秒几百个请求.此外,典型的Web服务器和应用程序通常不太适合高级优化,因此Vinko Vrsalovic的建议200非常现实.