前言:壓測的具體方法有不少種,工具也有不少,可是壓測要遵循的原則能夠是不變的。萬變不離其宗,制定好壓測規範和原則,每次壓測前問下本身,爲何要進行壓測,咱們預期的結果是什麼樣的,而後就能夠開始操做了mysql
壓測的目的無外乎測試新版本的性能、新功能、新機器的性能、新硬盤的性能、某些OS或DB層面的參數的影響 、不一樣場景下的性能等,咱們壓測就是要評估出數據庫和業務的性能瓶頸,方便進行容量和性能規劃,在業務高峯期來臨前,提早作好預案。sql
在設計壓力測試模型以前,咱們必需要知道壓力測試的目的;用控制變量的原則,來排除其餘的干擾因素,每次控制一個變量;壓測環境儘可能和線上環境一致,增長數據可參考價值;每一個變量壓測應很多於三次,而後取其平均值做爲壓測數據數據庫
儘可能遠程進行壓力測試:排除壓測工具對系統的開銷和網絡帶寬的影響緩存
壓測數據要合理: 壓測數據應大於MySQL Buffer,要考慮大字段的影響微信
壓測時間要合適:壓測前要進行預熱,預熱後壓測時常不小於30分鐘,真實場景能夠更長網絡
壓測的時候系統負荷不要太大或過小:保證壓測結果接近生產真實環境tcp
壓測結束後要淨化環境:清除系統和DB層的緩存,防止影響下次壓測結果工具
CPU :%user、%sys、%idle、%iowait 性能
load :測試
IO :util%、awai%
Mem:memused、swap(開的能夠看下)
帶寬 :recv , send
TPS、QPS、RT、LT、SE、FL、RT
經常使用的測試工具備sysbench、tpcc-mysql、tcpcopy等,沒有最好的工具,只有最適合你的工具和你最熟悉的工具
在相同壓測基線下,業務的變化狀況彙總。能夠以圖表的形式展示
爲了方便你們交流,本人開通了微信公衆號(關注看更多精彩)和QQ羣,QQ羣1(291519319)和QQ羣2(659336691)。喜歡技術的一塊兒來交流吧