性能測試的一些大實話:會linux命令以及其它工具,到底能不能做性能分析調優?


你是否被這樣忽悠過?

3個月速成高級性能測試、獨立承擔項目性能任務並完成性能調優。。。。。。這樣的宣傳,比比皆是。

之前時不時有微信好友或者Q群群友咨詢:

1、是不是會一些linux命令、會幾個工具、會改常見中間件性能指標計數器,就能做性能分析調優了?網上或者某些資料演示的就是通過幾個命令就定位到方法了。

2、是不是如某些人或者某些j構宣傳的,會這些就能立馬成為高級性能測試?就能大展手腳獨立承擔性能測試任務了?

 

我想說的是:

1、代碼是必須的

其實,命令、工具只是輔助,對於簡單的項目,有時候能幫我們快速找到問題,但是現在基本上都是比較復雜的項目,所以,看到的依舊是表象。

雖然網上或者某些資料演示的通過幾個命令就定位到方法了,其實,有些演示猶如演戲,為了演示而故意這樣寫代碼(我也可以幾行代碼就可以寫出一個oom的問題、或者cpu高的問題),

實際項目是很復雜的,而要開發、部署企業級復雜架構項目來進行演示,各種成本都是非常高的。

就算你定位到方法了,那怎么優化呢?代碼看不懂,也只能發給開發分析調優,

如果開發比較菜,也懵逼,一臉無賴的說:你定位錯了吧,不可能的事兒,是服務器資源的問題吧!

估計你心里一萬匹曹尼瑪。

 

2、不是所有性能問題都涉及到代碼

性能問題很多,不是所有的性能問題都需要看代碼,比如壓測過程中報獲取不到連接,估計是連接滿了,你適當調整下參數估計就ok了,

就像dba,估計也沒研究過數據庫的源碼吧?一樣可以憑借經驗對數據庫進行調優;

 

3、命令、工具不是萬能的

有時候,通過命令,頂多能幫我們定位到問題,比如定位到代碼方法,但是要調優,還是得懂代碼;

而且,有時環境或者權限受限,比如:非自帶命令沒有權限安裝,或者沒權限往服務器上傳安裝包,或者普通用戶無法運行命令,這下怎么分析呢?

所以,不要過度依賴非自帶命令,注意,這里強調的是非自帶命令,自帶命令還是要好好利用的;

 

學習建議

要學好性能需要掌握的內容:

  壓測工具及場景設計

  搭建監控平台(現在基本上都是集群環境)

  操作系統(掌握常見自帶命令)

  集群應用(發現可能是代碼問題,能看懂代碼,大部分都是java,那就學學:java基礎、spring、springboot等等)

  RDBMS、NoSQL、MQ等,這些你知道大概原理和常用的性能計數器就可以了,當然,能看源碼就更6了,這些都是經歷過千錘百煉的,本身性能問題很少,大概率是一些配置的問題

  JVM

  網絡

  其它  

能看懂代碼才是“王炸”,比如根據堆棧信息,能去分析代碼,萬事開頭難,不懂的可以問開發或者度娘,搞不定可以發給開發,你就看他怎么分析的,多跟着學習。

所以,要深入做性能,代碼是繞不過去的,代碼至少能大概看懂,別被網上xxxx宣傳的忽悠了,高級性能速成是不可能的,獨立承擔、完成性能項目,對測試要求不是一般的高,so,認清現實很重要,一步一步提升。

 

總結

代碼和實踐非常重要!!!

代碼都看不懂,談什么高級性能分析調優?頂多就是個只會監控、調性能計數器的初中級性能測試;

突然想起一句某大師說的:你不懂代碼,怎么能發現開發的問題?這里的問題是代碼的問題,而不是我們平時功能測試看到的表象,我覺得:這是對測試的最高要求了,總之代碼是趨勢,哪怕是后面轉崗互聯網其它崗位也是有優勢的,早做准備吧,僧多肉少的環境。

不實踐,就像古人說的:紙上得來終覺淺,絕知此事要躬行。

 

 

 

性能PK測開:https://www.cnblogs.com/uncleyong/p/11995605.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM