我们在周五部署了新的 Linux/Exim/Spamassassin 邮件服务器(在没有管理员的长周末前一天部署总是一个好主意)。负载在 15 分钟的平均值上一直徘徊在 1.3 左右。
机器反应灵敏,邮件在合理的时间内送达。我们可以假设这是可以接受的吗?
一定量的负载如何被视为可接受或不可接受?使用了哪些指标?
我们在周五部署了新的 Linux/Exim/Spamassassin 邮件服务器(在没有管理员的长周末前一天部署总是一个好主意)。负载在 15 分钟的平均值上一直徘徊在 1.3 左右。
机器反应灵敏,邮件在合理的时间内送达。我们可以假设这是可以接受的吗?
一定量的负载如何被视为可接受或不可接受?使用了哪些指标?
平均负载是一个值,它给出了内核需要的处理器数量,以便能够在需要时运行所有任务而无需等待。
在您的情况下,如果您有 2 个或更多 CPU/核心。没有问题。如果您只有 1 个 CPU 和 1 个核心,这意味着在您的应用程序想要运行的时间和内核运行它的时间之间有“太多”的时间。负载 > “CPU/核心数”对于邮件系统来说不会是问题,直到它在很长一段时间内达到过高的值。
当然,它们是没有规则和价值的,当您在短时间内收到邮件时,没关系。但是,当负载在“长时间”(约 1 小时)内频繁超过 2*number of cpu/core 时,您可能需要开始仔细查看服务器。
同样对于邮件服务器,这不会是一个大问题,但它会开始意味着您的服务器有点过载。
基本经验法则:如果系统响应迅速,并且工作及时,那么您就可以了。
低于两个的负载并不令人担心。我已经让系统达到了四五个并且仍然可以正常工作,尽管这表明网络或驱动器存在很多排队问题(即使系统响应非常快,I/O 问题也会导致高负载)。
定期检查您的邮件队列长度和日志以查找无法投递的问题和此类性质的问题。如果交付队列保持相对较低,那很好。
您可以获取磁盘平均值和网络 I/O 信息,但如果您没有看到交付问题(我在 15 分钟前发送了消息,但它还没有到达!)并且您可以通过控制台在系统上工作(或 ssh)没有很多延迟,你应该没问题。
与调优相关的问题一样,没有是/否答案,这完全取决于:-)
话虽如此,1.3 的负载听起来并不高,尤其是在您拥有多核 CPU 配置的情况下。如果负载数与核心数相同,则所有核心始终有一个准备好运行的进程。
最终,如果如您所说,消息及时传递,那么性能很好:-)
将为您提供足够实时的基本指标。
平均负载小于您拥有的 cpu 数量意味着有 cpu 无事可做。平等意味着他们现在都在工作。更大意味着有些进程可能正在运行,但被卡在排队等待中。
对于像 voip 服务器或 memcache 这样的超级时间敏感的东西,你希望你的平均负载远低于核心数。对于可以偶尔备份的异步内容(如电子邮件),您可以轻松运行 4 倍的内核数。
要记住的最大警告是,正在等待磁盘或网络 i/o 但在其他方面可运行的进程仍会显示在平均负载中。因此,如果您有一个 apache 服务器向 56k 用户提供 jpg 文件,那么您可以运行比通过千兆 LAN 向代理/负载均衡器返回 php/whatever-script 响应更高的平均负载。在您的情况下,与某些慢速邮件服务器的 smtp 连接将永远在运行队列上显示一个进程,但可能会被中断 20 次以毫无问题地向 gmail 发送快速单行电子邮件。
紧要关头,平均负载就像 DOW。它实际上并没有以任何方式衡量“经济”,人们只是将它用作一个非常松散相关的指标,因为它很容易谈论。专注于监控您真正关心的指标,例如传递队列深度和每秒消息数。
你有几个核心?猫 /proc/cpuinfo | grep 处理器 | wc -l
(警告:超线程看起来像更多内核,但事实并非如此)
如果您的负载水平低于您的处理器数量,那么您通常没问题。
还可以查看顶部并点击“1”,您可以查看每个 CPU 的单独负载。
是的,这是可以接受的,并且通常可以使用邮件过滤器进行预期。
我们的设置有点不同。我们有一个单独的 SpamAssassin 服务器,而我们的 POP 服务器运行 ClamAV 来扫描病毒。POP 服务器通常在服务器负载为 2 的情况下运行,但偶尔会达到 10 或更多。另一方面,我们的 SpamAssassin 服务器过去在 2 左右运行,直到我们还安装了 Openprotect.com 过滤器,当它使 CPU 使用率翻倍时,现在运行在大约 5 以下,峰值超过 15。这仍然是可以接受的,因为我们不邮件中有任何延迟会导致邮件队列增加(我们使用 qmail 接收 SMTP),并且仍然有空间来节省 CPU 使用率/内存。
巧合的是,我强烈推荐Munin来监控您的服务器。它在直观地展示历史数据和向您展示您必须保留哪些资源方面做得很好。使用 Top(1) 实时监控对您没有多大帮助。:)
哦,顺便说一句,在长周末前的星期五部署是度过整个周末的好方法。特别是对于像邮件服务器这样的关键系统。
内存消耗如何?它是稳定的还是增长的?
负载似乎并没有超出正常范围。如果邮件服务器是响应式的,并且邮件正在通过,我会说除了内存消耗之外的唯一衡量失败的方法是错误的电子邮件是否通过(垃圾邮件)。
请注意,今天将是您的第一次真正的测试。我今天可能会轻视它。如果出了什么问题,现在就是时候了。