apache - ping 请求是否会给服务器带来负载?

标签 apache networking

我有很多客户(大约 4000 个)。 每个客户端每 2 秒 ping 我的服务器一次。 这些 ping 请求是否会给服务器带来负载并降低服务器速度?

如何监控此负载? 现在服务器响应缓慢,但处理器几乎空闲,可用内存还可以。 我在 Ubuntu 上运行 Apache。

最佳答案

假设您的意思是 UDP/ICMP ping 只是为了查看主机是否处于事件状态,那么 4000 台主机的负载可能并不多,而且很容易计算。 CPU 和内存方面,ping 由您的内核处理,应该进行优化以不占用太多资源。因此,您需要查看网络资源。最关键的一点是如果你有一个半双工链接,因为你们所有的主机都很健谈,你会导致很多冲突和重传(和丢弃的 ping)。如果链路都是全双工的,让我们计算服务器所需的实际带宽量。

  • 4000 个客户端@2 秒
  • 每个 ping 在线路上有 72 个字节(32 字节数据 + 8 字节 ICMP header + 20 字节 IP header + 14 字节以太网)。 * 如果您使用 vlan 标记或基于 UDP 的 ping,您可能会有一些额外的开销
  • 如果我们可以假设 ping 是随机分布的,那么每秒 2000 次 ping @ 72 字节 = 144000 字节
  • 乘以 8 得到 Bps = 1,152,000 bps 或大约 1.1Mbps。
  • 在 100Mbps 的局域网中,仅 ping 的利用率约为 1.1%。

如果这是一个 LAN 环境,我会说这基本上没有负载,如果它通过 T1,那么它就是一个巨大的负载。因此,您基本上应该对哪些网络链接也可能是瓶颈运行相同的计算。

最后,如果您不使用 ICMP ping 来检查主机,而是使用应用程序级别的 ping,那么您将承担所使用协议(protocol)的所有开销,并且 ping 需要一路向上协议(protocol)栈,你的应用程序需要响应。同样,这可能是一个非常小的负载,也可能是巨大的,具体取决于实现细节和网络速度。如果主机空闲,我怀疑这对您来说是个问题。

关于apache - ping 请求是否会给服务器带来负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1926773/

相关文章:

java - 设置 Apache Web 服务器以进行本地测试

networking - 如何在没有不受信任的服务器问题的情况下将 Internet https 请求重定向到 Intranet https 服务器

networking - TCP会重传多少次

apache - 如何在 Apache HTTP 服务器上安装 Tomcat

Git 智能 HTTP 协议(protocol)无法在推送时执行服务器端 Hook

ios - 如何更快地下载新闻?

c++ - 如何知道连接到 QTcpServer 的客户端是否已关闭连接?

node.js - 本地主机、[::1] 和 etc/hosts 中的映射主机可以工作,但 127.0.0.1 不能

node.js - 如何在 443 中为 apache 和 Node 配置 https 支持?

php - 如何 Docker 化 PHP 应用程序