性能測試調優案例

現象:
100併發壓測時,發現cpu的sy值,loadaverage值比較高html

備註:
load average(負載):
一段時間內,cpu正在處理 + 等待cpu處理 的進程數之和
能夠使用top命令查看
1分鐘、5分鐘、10分鐘
通常關注5分鐘、10分鐘
更多請參考:http://www.javashuo.com/article/p-swqlgelu-ba.html架構

分析:
sy高,通常是系統內部調用致使,磁盤讀寫,日誌讀寫等形成的併發

根據猜測去驗證問題----->框架

通常關注的就是cpu、內存、IOtcp

驗證IO等:
性能測試調優案例ide

發現 IO基本沒問題性能

-------------------------------->測試

再驗證內存:
性能測試調優案例3d

注意:上圖中的數據只是爲了演示
這裏,假設內存佔用也正常日誌

-------------------------------------->

使用strace命令跟蹤進程,查看什麼操做致使的sy比較高
須要先安裝 yum install strace

參考這裏使用strace跟蹤系統調用
https://www.cnblogs.com/kongzhongqijing/articles/4913192.html

---------------------------------------->

能夠查看一下文件句柄數的大小,ulimit -n
儘可能調大一些,並讓開發儘可能減小代碼中打開文件的數量

--------------------------------------->

使用netstat命令查看tcp的鏈接狀況,看是否有大量的time-wait
修改/etc/sysctl.conf

-------------------------------------->

從架構上看看哪個點尚未想到

--------------------------------------->

懷疑代碼問題

--------------------------------------->

框架自己的問題?

相關文章
相關標籤/搜索