假设我有一个在高负载下提供 html 页面的 Web 服务器。假设由于某种原因,瓶颈不是 CPU、不是 RAM 也不是磁盘,而是网络本身。我如何判断 Linux 服务器只是发送或接收了太多流量而无法跟上?我如何知道网络带宽是否超过其容量的 60%?如果超出容量,我该如何扩展它?
答案1
一般来说,分析整个系统,看看极限在哪里。例如,使用方法检查每个资源的利用率、饱和度和错误。
所有环境都可以收集易于测量的基本性能指标,如 CPU 利用率和接口带宽利用率。在 Linux 上,可以使用以下工具网络数据或者 perf 可以详细显示很多指标。
深入了解您的环境有助于找到瓶颈所在。带宽最大为 95 Mbit/s 可能是由于路径中的旧 100 Mbit 交换机,或者 Internet 服务为 100 Mbit/s。或者存储系统非常慢。或者 NIC 报告超限,因为数据包缓冲区清空速度不够快。
如果可以,请尝试将 Web 服务器扩展到不同硬件上的更多主机。多个 VM 的总资源可能会有所帮助。可以使用控件一次在一台主机上尝试操作。另外,负载平衡可以被视为高可用性功能。