![我如何知道我的 Linux 服务器是否无法跟上网络流量以及该如何处理?](https://linux22.com/image/740547/%E6%88%91%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E6%88%91%E7%9A%84%20Linux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%98%AF%E5%90%A6%E6%97%A0%E6%B3%95%E8%B7%9F%E4%B8%8A%E7%BD%91%E7%BB%9C%E6%B5%81%E9%87%8F%E4%BB%A5%E5%8F%8A%E8%AF%A5%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86%EF%BC%9F.png)
假设我有一个在高负载下提供 html 页面的 Web 服务器。假设由于某种原因,瓶颈不是 CPU、不是 RAM 也不是磁盘,而是网络本身。我如何判断 Linux 服务器只是发送或接收了太多流量而无法跟上?我如何知道网络带宽是否超过其容量的 60%?如果超出容量,我该如何扩展它?
答案1
一般来说,分析整个系统,看看极限在哪里。例如,使用方法检查每个资源的利用率、饱和度和错误。
所有环境都可以收集易于测量的基本性能指标,如 CPU 利用率和接口带宽利用率。在 Linux 上,可以使用以下工具网络数据或者 perf 可以详细显示很多指标。
深入了解您的环境有助于找到瓶颈所在。带宽最大为 95 Mbit/s 可能是由于路径中的旧 100 Mbit 交换机,或者 Internet 服务为 100 Mbit/s。或者存储系统非常慢。或者 NIC 报告超限,因为数据包缓冲区清空速度不够快。
如果可以,请尝试将 Web 服务器扩展到不同硬件上的更多主机。多个 VM 的总资源可能会有所帮助。可以使用控件一次在一台主机上尝试操作。另外,负载平衡可以被视为高可用性功能。