系统瓶颈分析
一、系统瓶颈分析示例
例1:
交易的响应时间如果很长,远远超过系统性能需求,表示消耗CPU的数据库操作,例如排序、执行aggregate functions(例如sam、min、max、count)等较多,可以考虑是否有索引以及索引建立的是否合理;尽量使用简单的表联接;水平分割大表格等方法来降低该值。
例2:
分段排除错误。测试工具可以模拟不同的虚拟用户来单独访问web服务器、应用服务器和数据库服务器,这样就可以在web端测出的响应时间减去以上各个分段测出的时间就可以知道瓶颈在哪并着手调优。
例3:
Unix资源监控(NT操作系统同理)中指标内存页交换速率(Paging rate),如果该值偶尔走高,表明当时有线程竞争内存。如果持续走高,则内存可能是瓶颈。也可能是内存访问命中率低。“swap in rate”和“swap out rate”也有类似的解释。
例4:
Unix资源监控(NT操作系统同理)中指标CPU占用率(cpu utilization),如果该值持续超过95%,表明cpu是瓶颈,可以考虑增加一个处理器或换一个更快的处理器。合理使用范围在60%至70%。
例5:
Unix资源监控(NT操作系统同理)中指标磁盘交换率(Disk rate),若果该值参数值一直很高,表明I/O有问题。可考虑更换更快的硬盘系统、重新部署业务逻辑等,另外设置Tempdb in RAM,减低“max async IO”,“max lazy writer IO”等措施