前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器的指标和瓶颈如何分析?

服务器的指标和瓶颈如何分析?

作者头像
用户6367961
发布2022-01-12 14:03:05
2.2K0
发布2022-01-12 14:03:05
举报
文章被收录于专栏:自学测试之道自学测试之道

1、CPU

CPU使用率(%processor time),在80%±5%范围内波动为宜。过低,则服务器CPU利用率不高;过高,则CPU可能成为系统的处理瓶颈。

CPU队列长度(processor queue length),队列长度不要超过CPU内核的2倍。例如双核CPU,队列长度不要超过4个。

判断CPU瓶颈:

1. %processor time 平均值大于95

2. processor queue length大于2 (大于处理器个数+1).可以确定CPU瓶颈.但若%processtime一直很低,则存在处理器阻塞。

3. CPU空闲时间为零(%idle Time)

4. 过高的用户占用CPU时间(%User Time)

5. 过高的系统占用CPU时间(%Privileged Time:长期大于90%或者95%)

备注:

1.%User time(processor_total)表示耗费CPU的数据库操作,如排序,执行aggregatefunctions等。如果该值很高,可考虑增加索引,尽量使用简单的表联接,水平分割大表格等方法来降低该值

2.如果CPU使用率不断上升,内存使用率也不断上升,表明系统可能产生资源争用情况,引起原因,程序资源调配问题。

2、带宽

每秒接收的数据量(Bytes received/sec ),应该低于服务器下行带宽/8较好。

每秒发送的数据量(Bytes sent/sec)应该低于服务器上行带宽/8较好

网络瓶颈判断:

1.bytes total/sec(network interface).用这个数值和当前网络带宽比较,两者相除结果应小于50%

2.随着负载的加大,点击率和吞吐量会随之增大。如果系统的吞吐量随着负载的加大出现平坦或降低并且CPU的使用率很高,并且此现象发生时切换水平Contextswitch/sec(system) 在15000以上,那么意味着上下文切换次数过高,表明网络饱和。

3、内存

可用内存(Available MBytes)。当这个数值变小时,表示Windows开始频繁地调用磁盘页面文件。如果这个数值很小,例如小于5 MB,系统会将大部分时间消耗在操作页面文件上。一般要保留10%的可用内存。最低不能<4M,此值过小可能是内存不足或内存泄漏。

内存的页交换频率(pages/sec),即内存与虚拟内存(硬盘)交换的频率。值越低越好,大致在1百以内。

内存不足/泄漏的现象:

1.private bytes(process)计数器和workingset(process)计数器持续升高,同时memory/availablebytes值持续降低,表明内存泄漏。

2.Page write/sec(memory)每秒执行的物理数据库写的页数。

说明:如果服务器没有足够的内存处理其工作负荷,此数值将一直很高。如果大于80,表示有问题(太多的读写数据操作要访问磁盘,可考虑增加内存或优化读写数据的算法)。

4、磁盘I/O

硬盘使用率(%Disk time),硬盘队列长度(Avg. Disk queue length). 这两个值都是越低越好。

硬盘瓶颈分析:

1.%disk time和Avg.DiskQueue Length的值很高,而pagereads/sec(memory)很低,则可能存在磁盘瓶颈;若pagereads/sec(memory)并未降低,则是内存不足。

2.avg.disk sec/read,avg.disksec/write 大于20ms,则可能有磁盘瓶颈

3.Avg.Disk sec/Transer磁盘中读写数据的平均时间,单位是秒。该值小于15ms最为优异,介于15-30ms之间为良好,30-60ms之间为可以接受,超过60ms则需要考虑更换硬盘或硬盘的RAID方式。

4.Disk Transfers/sec 指在此盘上读取/写入操作速率。正常值<(DiskBytes/sec)/3,此值过大表示系统要求的IO速度已接近硬盘的最大速度,要更换更快的硬盘

5.Avg.disk queue length该值应不超过磁盘数的1.5~2倍。要提高性能,可增加磁盘。注意:一个RaidDisk实际有多个磁盘。

5、SQL Server 相关

1. SQLServer:Buffer Manager ->Buffer cache Hit Ratio 显示在高速缓存中找到数据的命中率。如果数值持续小于 85%, 则表示内存有问题。

2. SQLServer:Locks->Lock Waits/sec 显示在当前进程完成之前强制其他进程等待的每秒锁定请求的数量。如果该值始终大于 0, 则表示事务有问题。

3. SQLServer:Databases->Transactions/sec 每秒为数据库启动的事务数

6、线程

线程主要消耗的是CPU的资源,在CPU可负担的情况下,线程越多越好。一般是服务器能承受的最大线程的四分之三。

7、动态影响

三层架构CSD,哪一层都可能成为瓶颈,三者间的平衡点才是系统的最大并发。

8、缓存

系统级性能调优时,重点利用缓存。现在CPU,硬盘都自带缓存,利用好这些缓存。代码级调优,则主要是算法,sql语句。尽量减少内存的使用,用好内存,减少运算次数。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自学测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档