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