性能測試說的裝B點兒,其實沒啥,就是和Response Time(或者說latency)、throughput(也可以說capacity)以及scalability打交道。弄懂了這三個要素,應該就算是一個合格的性能測試工程師了。
當然,我不會裝B,只是一介武夫,所以我接下來只想從偏技術(shù)層面聊聊我心目中真正的主站性能測試工程師是啥樣的:
1、大局觀。性能測試工程師一定要有系統(tǒng)化的思維,要站在整個系統(tǒng)測試的角度看問題。一個優(yōu)秀的性能工程師必須要有相當?shù)闹R廣度。否則在測試期間,你必須依賴外界援助(比如DBA,Dev或OPS)來協(xié)助,效率不高,更關鍵的是可能會被誤導,漏掉很多性能BUG。我常常看到組里的童鞋們在壓測時一看到TPS降了,就死盯著應用,就著急的去分析線程或做CPU Profiling。找不到原因后有時問到我時,我習慣的第一句總是 你看過DB么?確認DB端正常么?看過壓測客戶端么?確認壓測端正常么? 我個人意見:不要老憑經(jīng)驗,一有重復癥狀就思維定式;一定要堅持先從全局看問題,隔離到是應用層面、DB層面抑或是壓測客戶端層面后再進一步深入定位問題。
2、技能深度。在性能測試工具方面有自己獨特的理解;同時也應該在操作系統(tǒng)、數(shù)據(jù)庫、應用程序等方向的配置管理與調(diào)優(yōu)方向上非常的熟悉。
3、敏感。這個一方面是天賦,一方面是經(jīng)驗積累吧, 很多隱蔽的性能問題確實是需要豐富的經(jīng)驗才能發(fā)現(xiàn),極容易漏掉:)
4、興趣。其實這條才是最重要的^-^
如果說具體些通俗些,我眼里主站真正的性能工程師是這樣的:
1、熟悉Java(包括JVM內(nèi)在機理)/c/c++。理由很簡單,主站大部分的外圍應用和中間件都是JAVA寫的,底層核心系統(tǒng)是c/c++寫的。
2、精通linux管理和shell編程。理由更簡單,我一直覺得,shell熟練與否非常大程度決定了一個工程師的工作效率。
3、對數(shù)據(jù)庫管理和性能優(yōu)化有自己的實踐和心得(數(shù)據(jù)庫永遠是個性能要點)
4、精通某一個性能測試工具。不止是使用,更包括原理,如何改造擴展。
5、熟悉linux kernel的實現(xiàn)(比如內(nèi)存管理、文件系統(tǒng)、系統(tǒng)調(diào)用… )。這條感觸在最近兩個月特別深,可能是受到褚霸、子團等大俠們的影響吧,如果不熟悉kernel,確實很難在底層系統(tǒng)的性能測試上有所真正建樹。其實這塊也算是整個質(zhì)量保證部的技術(shù)短板吧,現(xiàn)在淘寶的linux內(nèi)核組都是自測+他人review的形式,如果。。。^-^
6、了解常見硬件,特別是存儲相關。這塊主要是受國外Percona公司的Peter和Vadim影響,他們能成為世界公認的mysql性能專家,他們熟悉mysql源碼當然很重要,但也與他們那非常淵博的底層硬件知識是分不開的。
當然以上都是我個人意見,從我自己的角度出發(fā)看的問題。其實性能測試還有很多領域,比如前端性能測試這塊,我是小白,就不發(fā)表任何相關意見了^-^ 但說到底,做性能這塊關鍵一是經(jīng)驗積累二是掌握相關底層技術(shù)
至今還記得百淘65期讓我最為難忘的細節(jié),達人青云在分享他的牛P經(jīng)歷時總結(jié)到的:
● 結(jié)合優(yōu)勢,做別人做不了的
● 發(fā)現(xiàn)問題,做別人沒做過的
● 主動出擊,做別人不愛做的
希望自己能一直銘記這三句話,有天能成為一個真正的性能工程師
-
測試工程師
+關注
關注
6文章
125瀏覽量
12672
發(fā)布評論請先 登錄
一個優(yōu)秀的射頻測試工程師需要具備哪些技能?

電子工程師必看!EMC設計難題一站式破解


如何成為一名嵌入式軟件工程師?



如何成為嵌入式開發(fā)工程師?

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技
嵌入式工程師常用的開發(fā)工具有哪些?
Keysight助力提升工程師的測試測量知識水平

FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?

評論