磁盘使用率
监控磁盘使用率有俩个作用/目的:
1. 第一个目的与应用本身有关,如果应用本身在做大量的磁盘IO操作,那么IO就很容易成为瓶颈。
2.即使应用本身并没有做大量的磁盘IO,但是可能会由于大量的内存交换,而导致有大量的io,导致应用性能下降。
磁盘IO的监控方法:
iostat 5 ,
这个命令会显示磁盘每秒,或者一定周期内的写入,写出速度。比如下图:
KB/t :每次transfer 35.51kb,tps:每秒做13次transfer,MB/s :每秒做0.45MB的数据传输。 0.45MB=35.51*13 KB
或者 iostat -xm 5 ,还可以计算磁盘使用率,不过不知道是怎么算出来的。
当写入或者读出的速率过高,或者磁盘使用率过高,就可以造成磁盘io的瓶颈。这时就要想办法降低磁盘IO了。
如果应用的磁盘IO预计不会很高,那么高的磁盘IO使用率很有可能是由于内存的换入换出造成的,这对服务类的应用是很不好的。
还要一种方法来监控是否有内存换入换出是 vmstat , 如下图中的si,so就表示换进和换出的速率
总结:
1. 大量的内存换入换出会影响性能。
2.写入磁盘遇到瓶颈,可能是因为写入的太多,也有可能是因为写入的效率不高,导致吞吐量下降。
网络使用率
网络利用率和磁盘利用率很相似,应用没有充分利用网卡,或者应用使用的量超过了网卡的最大值,都会造成性能的瓶颈。
遗憾的是,标准的系统工具只提供了写入写出的报文数或者字节数,并没有直接给出速度还是使用率,所以使用起来可能没有那么直观。
系统的标准工具是netstat ,如图:它展示了有哪些网络连接,使用的协议,端口,状态,以及写入写出的字节数(Recv-Q,Send-Q)。
幸运的是,有一些开源和商业的工具来监控网络带宽,比如 nicstat
其中 e1000g1 表示千兆网络,但是注意网络带宽的单位是字节,所以千兆表示1000/8 =125MB。
这里每秒的写入写出发别是225.7KB/s 176.2KB/s 所有使用率是 (0.2257+0.176.2)/ 125==0.33%
通常来说,网络的使用率无法达到100%。 这和网络的协议还有中间的传递介质都有很大的关系。通常40%就基本饱和了。
总结:
1. 网络应用要确保网络io不会成为瓶颈。
2. 网络io瓶颈的造成一个是因为写的效率不足造成吞吐量低 ,另外一个是因为写了太多,达到了宽带饱和。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181962.html