该服务器是否超载(htop 截图)

Jac*_*220 4 ubuntu amazon-web-services

我不是服务器人员,我认为它看起来超载,但我不确定。你说这个服务器超载了吗? 在此输入图像描述

Ale*_*exD 13

您的服务器只有两个 CPU,LA(平均负载)在 10-15 范围内。这意味着正在运行的进程需要的 CPU 时间超出了 CPU 的处理能力。您可以在 Brendan Gregg 撰写的这篇文章中阅读有关洛杉矶的更多信息。

请注意,LA 只是一个指标,即使您的系统没有获得所需的所有 CPU 时间,它仍然有可能获得足够的 CPU 时间来很好地服务最终用户请求。在对此服务器做出任何决定之前,您需要检查其他指标,但如果您的用户已经抱怨,那么解决方案很明确 - 获取具有更多 CPU 的实例。

  • _“您的服务器只有两个 CPU,LA(平均负载)在 10-15 范围内。”_ - 然而,三分之二的屏幕截图显示 CPU 使用率约为 60%。我不会那么快判断服务器是否受 CPU 限制。它可能受 I/O 限制。我还发现内存压力相对较高,这可能对 I/O 情况没有帮助。不管怎样,高负载并不意味着系统本身超载。充分利用的非延迟敏感服务器(例如邮件)可以在高负载下完全正常。这取决于实际情况。 (12认同)
  • 不过,D 模式下没有一个进程,并且(一部分)redis 似乎消耗了 100% CPU(这意味着它是单线程的,否则会超过 100%)。这可能意味着其他一切都在等待(相当劳累的)redis,并且添加核心在这里不会有太大帮助。在投入更多核心来解决问题之前,我会检查 redis 配置和日志文件。 (3认同)
  • 由于系统在 AWS 上运行,我建议将“redis”移动到托管 ElastiCache Redis 实例,但这会引入额外的网络延迟,从而影响系统性能。 (2认同)

Aus*_*arn 10

定义\xe2\x80\x98overloaded\xe2\x80\x99。

\n

如果您只是按平均负载计算,那么是的,它已经过载(大约是 5-7.5 倍)。但是,如果您的工作负载是大规模并行的并且主要受 CPU 限制,那么平均负载只是一个合理的指标。平均负载实质上跟踪过去 1/5/15 分钟内可以运行的平均进程数。

\n

但是,根据您的两张屏幕截图,您的瞬时 CPU 利用率并不总是系统能力的 100%。这与高平均负载相结合,意味着需要运行大量进程,但它们运行得很快,然后就完成了。对于提供网络服务的系统来说,\xe2\x80\x99 是相当正常的,因为大多数网络服务不是CPU密集型的,而是 IO 密集型的。这意味着平均负载并不是确定系统资源利用率的良好指标。

\n

您真正应该在这里查看的(实际上,对于任何网络服务,您真正应该首先查看的)是服务本身的性能指标。在大多数情况下,相关的是服务所服务的各种请求类型的延迟测量(更具体地说,您通常需要关心平均延迟以及第 95 或 99 个百分位或峰值延迟之一)。htop根本无法为您跟踪这一点,您需要查看另一个工具,例如Netdata(免责声明,我为 Netdata 工作)或Prometheus

\n

但比这更好的是:用户是否报告了问题?如果答案是否定的,则没有报告问题,那么服务器是否重载 xe2x80x99 可能无关紧要,因为一切都运行良好。

\n