使用指标表示服务器状态

使用指标表示服务器状态

我正在使用 Microsoft 的性能监视器转储来自多台服务器的 RAM、CPU、网络和磁盘使用情况日志。我希望获得一个能够在很大程度上捕获给定变量状态的单一指标。例如,磁盘使用情况非常稳定,因此如果我读取一次显示剩余磁盘空间为 50% 的读数,该读数将为我提供当天的准确测量值。(服务器没有进行大量 IO 写入。)

但是,这里棘手的部分是监控 CPU 和网络使用情况。日志目前每十秒转储一次 CPU 使用率百分比。如果我对这些数字取平均数,它可能不代表实际情况,因为夜间的 CPU 百分比会比白天低得多。(我们托管销售家电产品的网站。)我想在高峰时段(大约一天 5 小时)内获取平均值,并显示每日高峰时段指标。当然,很可能有一些读数会过度飙升(如果多个用户同时 ping 服务器)或无用(短暂的空闲状态)。在这些情况下,是否有行业使用的标准分布/测试?

答案1

我认为这个问题没有简单的答案。取 90% 或 95% 的采样数据是去除“尖峰”的典型方法。不过,我不知道仅仅从数据中去除“尖峰”是否真的有用。原始性能数据实际上并不能告诉您应用程序的响应情况。

就我个人而言,我更关心的是应用程序的实际响应时间是否符合规定的 SLA,而不是服务器计算机的原始性能指标。我更愿意尽可能测量实际的应用程序性能,然后将应用程序响应问题与原始数据关联起来,而不是试图将原始数据作为我的唯一指标。原始数据非常适合根本原因分析,但应用程序性能通常以非线性方式受到原始性能指标的影响。没有什么告诉您应用程序性能滞后比衡量应用程序性能更好。

采用设计好的分析方法(例如Stack Exchange 做到了迷你剖析器) 对于充分关联原始性能指标与应用程序性能非常重要。编写一个wget定期对应用程序进行 API 调用计时的脚本可能是一个很好的开端,但查看来自应用程序内部的分析数据将有助于您的开发人员和系统管理员共同努力,将原始性能数据与实际应用程序性能进行匹配。

相关内容