2.9 监视
系统性能监视记录一段时间内(一段时间序列)的性能统计数据,过去的记录可以和现在的做比较,这样能够找出基于时间的使用规律。这对容量规划、量化增长及显示峰值的使用情况都很有用。通过了解什么是“正常的”范围和过去曾经的平均值,历史数据还能够为理解性能指标的当前值提供上下文背景。
2.9.1 基于时间的规律
图2.23、2.24 和2.25 所绘的是云计算服务器文件系统不同时间跨度的操作数目读取的曲线,是基于时间规律的例子。
这些曲线单天的规律是在大约早上8:00 的时候缓慢上升,在下午的时候会稍微下降一点,然后在晚上逐渐消退。长时间跨度的曲线显示的规律是周末读操作数目较低。在30 天的曲线上能看到一些尖峰存在。
图2.23 监视活动:一天
图2.24 监视活动:五天
图2.25 监视活动:30 天
从上面这些图里能看到的各种各样的活动周期通常也能在历史数据里找到,包括以下一些。
● 每小时:应用程序环境每小时都会有事情发生,诸如监视和报告任务。这些事情以每5或10 分钟周期执行也是很常见的。
● 每天:每天使用规律会和工作时间(早9:00 至晚5:00)一致,如果服务是针对多个时区的话,时间会拉长。对于互联网服务,规律与世界范围内的用户活动的时间有关。其他每天的事务可能包括晚间的日志回滚以及备份。
● 每周:和每天的规律一样,基于工作日和周末的每周的规律也可能存在。
● 每季度:财务报告是按季度如期完成的。
负载的非规律性增长可能源于其他因素,例如在网站上发布新的内容。
2.9.2 监测产品
有很多的第三方性能监测产品。典型的功能包括数据存档和数据图表通过网页交互显示,还有提供可配置的警报系统。
一部分这样的操作是通过在系统上运行代理软件收集统计数据实现的。这些代理软件运行操作系统的监测工具(如sar(1))并处理输出(被认为是低效的,甚至会引起性能问题),或者直接链接到操作系统库和接口来读取统计数据。
还有的监测方法是用SNMP 协议。系统只要支持SNMP,就避免了在系统上运行客户端程序。
随着系统变得越来越分布式以及随着云计算的增长,你越发地需要监视大量的系统,很可能成千上万。这样的话,一个集中化的系统就变得尤其有用,可以通过一个界面监测到整个环境。
部分公司更倾向于开发自己的监测系统解决方案,这样可以更好地适应自身的客户环境和需求。
2.9.3 启动以来的信息统计
如果没有执行监测,至少还可以检查系统自带的自启动以来的信息统计,这些统计信息可以用于比对当前值。