測試的一些工具
JS的性能可以不通過并發(fā)就可以驗證,IE8、IE9的開發(fā)者工具就是一個非常不錯的驗證JS性能的分析器,主要分析調(diào)用時間跟調(diào)用次數(shù)。
日常的性能測試主要是從業(yè)務功能點中抽取具有并發(fā)特點的,高風險的、大數(shù)據(jù)量處理的業(yè)務,整理成測試用例,制定相應的指標,然后用工具或者手工進行性能測試并分析, 主要做單功能點的基準測試與組合場景的穩(wěn)定性測試。
隊列由于有一個隊列的長度限制,一般不通過用LR等工具來進行性能測試,主要是通過準備大數(shù)據(jù)量的待調(diào)度事件來進行測試,比如工作流調(diào)度隊列,你可以準備1萬條待調(diào)度的流程。
(3)測試過程中發(fā)現(xiàn)了性能問題,問題要如何進行定位
如果發(fā)現(xiàn)性能問題,我想首先是響應時間不達標,然后就是定位分析了,定位分析需要一個過程了,一般程序是通過前端到后端進行分層分析,一般分為客戶機 層、應用服務器層、數(shù)據(jù)庫層,像WEB程序,客戶機層就是通過分析JS或者http交互過程或者是LR的頁面切割來分析,然后一層層的分析下去,知道定位 程序的某個功能點、數(shù)據(jù)庫的某條SQL語句,或者某些不適合的配置參數(shù)。
成為性能架構(gòu)師有兩條路可走,一條是從開發(fā)轉(zhuǎn)向架構(gòu),然后精力集中放在與性能相關的領域,如性能測試、性能分析、性能優(yōu)化,從軟件架構(gòu)層面把握軟件的性能問題,積累到一定程度就可稱得上一名合格的性能架構(gòu)師。
另一條路是從性能測試逐步積累經(jīng)驗,當然這也需要較深的代碼功底,起碼你能定位問題、分析出問題的本質(zhì),能給開發(fā)人員提供優(yōu)化的建議,經(jīng)常與架 構(gòu)團隊交流,從他們那里吸取寶貴的經(jīng)驗然后自己消化掉,在性能測試方面要有很強的設計能力,如果對架構(gòu)有很熟,反過來可以對架構(gòu)設計產(chǎn)生影響,那就是實現(xiàn) 1+1>2了,隨著經(jīng)驗的積累自然可以擔當性能架構(gòu)師的角色。
4、我比較關注Oracle性能優(yōu)化的問題,下面是我想了解的幾個問題:
Oracle性能監(jiān)控需要注意哪些要點?有哪些Oracle性能監(jiān)控工具可以用?
Oracle平常監(jiān)控主要用EM的性能監(jiān)控視圖、主要關注TOP SQL以及SQL的執(zhí)行計劃、阻塞與鎖等待分析,另外可用ASH、AWR報告分析top5 event分析重要事件,報告中主要關注那些邏輯讀、物理讀比較大的SQL,還有各緩存的命中率, 數(shù)據(jù)庫的報警日志文件也很重要,也要定期分析。
5、金蝶ERP產(chǎn)品的性能測試是如何做的?采用什么工具進行測試?如何從性能測試指標結(jié)果定位性能瓶頸?
金蝶的ERP性能測試主要是通過讓性能測試常態(tài)化,性能測試分為基準測試、穩(wěn)定性測試、大數(shù)據(jù)量測試、窄帶寬測試、實驗室測試,平常在研發(fā)環(huán)節(jié) 主要是將ERP中重要的功能點整理成測試用例,通過基準測試對每個功能按約定的設計要求進行并發(fā)測試,以便驗證是否符合預期指標, 基準測試完后,按典型業(yè)務場景進行案例組合的穩(wěn)定性測試,金蝶要求做7*24小時的穩(wěn)定性測試,以此驗證產(chǎn)品的穩(wěn)定性,產(chǎn)品的大版本一般跟IBM合作進行 實驗室測試。
金蝶平常用自己開發(fā)的性能測試工具,在項目測試的時候用由客戶提供的LoadRunner進行測試定位性能瓶頸首先要從響應時間指標中檢測是否符合預期,然后驗證CPU,內(nèi)存的消耗是否符合預期指標。
6、J2EE平臺的性能監(jiān)控一般監(jiān)控哪些方面?數(shù)據(jù)庫、WEB服務器、應用服務器?還有什么?監(jiān)控一般推薦用什么工具啊?
J2EE平臺的性能監(jiān)控一般監(jiān)控響應時間、分析JS性能,分析HTTP交互、網(wǎng)絡流量、JVM線程、JVM內(nèi)存,JVM垃圾回收、JDBC連接池、數(shù)據(jù)庫,數(shù)據(jù)庫與應用服務的流量,數(shù)據(jù)量的TOP SQL,服務器層面監(jiān)控CPU、內(nèi)存、IO等待、端口連接數(shù)等。
監(jiān)控工具要分類劃分,IE端有分析http交互的httpwatch, fiddler2,分析JS性能有IE8、IE9的開發(fā)者工具,如果是互聯(lián)網(wǎng)應用還可以用yeslow等工具進行綜合分析,應用服務器。
如果分析少量并發(fā)性能可以用Jprofile,Jprob等工具,如果是并發(fā)大測試可以通過定期抓取jvm線程堆棧來分析性能瓶頸,同時將GC日志輸出進行分析,對于數(shù)據(jù)庫端,oracle有很多工具,如EM動態(tài)性能視圖,db2有db2top。
7、LoadRunner的性能測試結(jié)果一般重點看哪些內(nèi)容?如何分析測試結(jié)果?
LoadRunner的性能測試結(jié)果一般重點看響應時間、TPS、吞吐量, STD、失敗率是否符合指標,不僅要看是否是否符合要求,還要看是否平穩(wěn)。
8、想了解一下云計算的性能壓力測試是怎么做的?與普通傳統(tǒng)應用的性能測試有什么區(qū)別?
具體我還沒做過云計算項目的性能壓力測試,我想從技術角度分析一下,云技術肯定是由負載分發(fā)器、計算池、存儲分發(fā)器、存儲池構(gòu)成的,上線的環(huán)境 我估計由于云池太大很難以測試,換個思路,我們通過換算或估算的方式,走小范圍性能測試+技術架構(gòu)分析的路子,性能測試用來驗證任務的分發(fā)與少部分計算池 上的性能,再結(jié)合對技術架構(gòu)的分析,重點驗證那些關鍵技術點,這樣應該是可行的。