




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、J2EE 軟件生命周期性能管理解決方案Quest 虹天軟件有限公司二九年一月十七日J2EE 軟件生命周期性能解決方案2目目 錄錄1前言前言.31.1企業(yè)應(yīng)用現(xiàn)狀分析.31.2J2EE 架構(gòu)管理需求.32應(yīng)用性能管理方法論應(yīng)用性能管理方法論.52.1解決 J2EE 問題的思路.52.2應(yīng)用性能管理流程.63QUEST 解決方案解決方案.83.1開發(fā)代碼質(zhì)量優(yōu)化.93.2測試應(yīng)用組件優(yōu)化.113.3上線試運行診斷優(yōu)化.143.4運維監(jiān)控性能管理.154QUEST 解決方案優(yōu)勢解決方案優(yōu)勢.175QUEST J2EE 管理工具介紹管理工具介紹.195.1JPROBE.195.2PERFORMASUR
2、E.225.3FOGLIGHT.26J2EE 軟件生命周期性能解決方案31 前言前言1.1 企業(yè)應(yīng)用現(xiàn)狀分析企業(yè)應(yīng)用現(xiàn)狀分析對很多行業(yè)來說,IT 應(yīng)用系統(tǒng)承載著企業(yè)的關(guān)鍵業(yè)務(wù)應(yīng)用,如制造業(yè)的ERP 系統(tǒng)、電信 BOSS 系統(tǒng)、銀行的核心業(yè)務(wù)系統(tǒng)、卡業(yè)務(wù)系統(tǒng)以及基于電子商務(wù)的業(yè)務(wù)等。關(guān)鍵應(yīng)用對性能和可靠性有著非常高的要求,業(yè)務(wù)中斷甚至是短時間的性能下降往往會造成巨大損失。而企業(yè)的 IT 應(yīng)用系統(tǒng)往往涉及到服務(wù)器、數(shù)據(jù)庫、存儲設(shè)備、應(yīng)用軟件多個方面,手工查找很難快速找到問題的根源,特別是目前位居企業(yè)應(yīng)用開發(fā)及部署的主流環(huán)境J2EE 平臺,其間所孕育之應(yīng)用性能管理需求,更成為市場關(guān)注焦點,面對這些問
3、題,需要有一套完整的方法論和工具,能夠?qū)?IT 系統(tǒng)的性能從整個生命周期范圍內(nèi)進行管理,實現(xiàn)從開發(fā)階段的代碼質(zhì)量控制到運維階段的實時性能監(jiān)控,對有可能出現(xiàn)的性能問題進行及時、準確的捕獲、診斷、分析和處理,從而保證系統(tǒng)的可靠性和及時響應(yīng)。近年來,隨著 J2EE 企業(yè)級軟件廣泛地應(yīng)用于各行各業(yè),J2EE 系統(tǒng)診斷優(yōu)化也越來越引起軟件開發(fā)者和應(yīng)用服務(wù)器提供商的重視。而對于最終客戶來說,一個高效、穩(wěn)定地實現(xiàn)他們的業(yè)務(wù)需求的應(yīng)用系統(tǒng)已經(jīng)是他們的基本要求,應(yīng)用性能就是業(yè)務(wù)性能,應(yīng)用性能已成為系統(tǒng)運行中需要考慮的最重要的因素,應(yīng)用性能反映的是業(yè)務(wù)運行的實際質(zhì)量和對用戶的服務(wù)水平。針對 J2EE 企業(yè)核心業(yè)務(wù)
4、系統(tǒng)在生命周期的各個階段涉及到的性能問題,Quest 軟件推出目前業(yè)界最為完整的 J2EE 應(yīng)用性能管理解決方案,為企業(yè)的業(yè)務(wù)應(yīng)用保駕護航。Quest的解決方案是一套針對 J2EE 應(yīng)用的開發(fā)、測試、優(yōu)化、上線、監(jiān)控、診斷、再調(diào)優(yōu)、再監(jiān)控的完整方法論,為用戶提供一個閉環(huán)的應(yīng)用性能管理優(yōu)化解決方案。1.2 J2EE 架構(gòu)架構(gòu)管理需求管理需求 J2EE 是近幾年興起并逐漸發(fā)展成熟的一種企業(yè)級架構(gòu)的新標準、新技術(shù),J2EE 軟件生命周期性能解決方案4最大特點是加入了中間件的概念,成為分布式的多層架構(gòu),客戶運用越來越廣泛,應(yīng)用也相應(yīng)變得越來越復(fù)雜。隨著 J2EE 技術(shù)的不斷發(fā)展,盡管在框架方面有了很多
5、標準可以遵循,如 Struct、Spring、Hibernate 等,但是對 J2EE 應(yīng)用性能管理方面在實際中很少或者沒有可操作的參考模型可供使用。另外,除自身的 J2EE 應(yīng)用服務(wù)器外,具體的 J2EE 環(huán)境具有很多其他技術(shù)的特點,例如Portal 門戶、BPM、EAI、數(shù)據(jù)庫,面向消息的中間件和 COTS(Commercial-off-the-shelf 成熟的商業(yè)化)應(yīng)用(如 SAP 應(yīng)用)等等,復(fù)雜、繁多的技術(shù)集合體必然會存在或多或少的性能問題,由于缺乏可供參考的指導(dǎo)模型,導(dǎo)致不同的 J2EE 應(yīng)用需要投入特殊的支持,對性能問題沒有有效的管理方法,例如:由于 JAVA JVM(JAV
6、A 虛擬機)的存在,一旦使用不當就可能出現(xiàn) J2EE 應(yīng)用的內(nèi)存泄漏問題,如果問題隱藏得很隱秘或涉及的組件很龐大,那么往往使技術(shù)人員變得束手無策,最終的結(jié)果是不得不頻繁地重啟應(yīng)用服務(wù)器,不能從根本上解決問題,從而增加了失敗的風(fēng)險和支持成本,加長了對失敗的響應(yīng)時間。因此,在 J2EE 應(yīng)用管理中,迅速診斷和解決性能問題是最為關(guān)鍵,也是最具有挑戰(zhàn)性的工作;如果是在生產(chǎn)環(huán)境,問題還會更加復(fù)雜。基于服務(wù)器日志和參數(shù)分析工具實現(xiàn)的管理功能,在一個大型、分布式、多層次的復(fù)雜 J2EE 應(yīng)用中,往往不能提供足夠的信息。J2EE 診斷需要能夠?qū)\行中 J2EE 生產(chǎn)系統(tǒng)進行分析,并能在所有系統(tǒng)組件和代碼中進行
7、深入診斷,分析哪一個服務(wù)或組件慢,是由誰負責(zé)的。例如,提供如下的診斷信息:低效率的 Servlet、JSP、EJB、Java 類和方法運行緩慢的 SQL 語句,低效率的 EJB/DB 交互應(yīng)用服務(wù)器配置和部署問題RMI 和對象串行問題低效率的第三方組件JVM 堆使用和配置問題操作系統(tǒng)參數(shù)和配置硬件模塊限制集群配置和負載平衡問題 J2EE 軟件生命周期性能解決方案52 應(yīng)用性能管理方法論應(yīng)用性能管理方法論2.1 解決解決 J2EE 問題的思路問題的思路J2EE 應(yīng)用性能的有效管理應(yīng)該符合如下的思路,保證關(guān)鍵業(yè)務(wù)應(yīng)用的最佳性能,實施有效的變化管理,優(yōu)化變更管理流程。如下圖所示:圖 2-1 J2EE
8、 問題解決思路整個解決思路分別兩個部分:1前瞻性保障前瞻性保障首先,在應(yīng)用開發(fā)階段,通過有效手段和方法保證代碼質(zhì)量優(yōu)化,最大程度地保證代碼的性能和效率達到最優(yōu),并杜絕內(nèi)存泄漏等潛在的危險代碼。其次,在應(yīng)用部署上線階段,通過壓力測試、應(yīng)用優(yōu)化、配置調(diào)優(yōu)等使應(yīng)用運行在最佳狀態(tài)。在應(yīng)用運行維護階段,對生產(chǎn)系統(tǒng)運行狀況和性能進行不間斷的監(jiān)控,及時發(fā)現(xiàn)對業(yè)務(wù)會產(chǎn)生影響的問題,并對歷史狀態(tài)進行分析,預(yù)測未來發(fā)展趨勢,評估當前系統(tǒng)性能,確定是否存在潛在的問題,消除因為嚴重的性能問題對業(yè)務(wù)造成的不可彌補的影響,保證系統(tǒng)的可用性和高性能。所有以上的各種措施和工作都是為了保障最終系統(tǒng)正常高效運行,將所有可能的問題
9、避免和解決在問題發(fā)生之前,可以稱之為“前瞻性保障”(ProActive)工作。J2EE 軟件生命周期性能解決方案62響應(yīng)式管理響應(yīng)式管理如果系統(tǒng)一旦出現(xiàn)異常,發(fā)生性能問題或由于業(yè)務(wù)增長出現(xiàn)性能瓶頸時,應(yīng)對出現(xiàn)的情況,能迅速給予響應(yīng),則需要做到以下的要求:首先出現(xiàn)問題后,能夠快速識別問題的種類,定位問題的根源,深入診斷,并減少解決問題的時間,將影響和損失降到最低程度。其次,對存在性能瓶頸的地方能提供有效的優(yōu)化手段,能通過測試對系統(tǒng)給出性能評價視圖,給出采取下一步措施的建議:一是通過優(yōu)化提高對現(xiàn)有資源的利用,保護已有投資;二是當現(xiàn)有資源不能滿足日益增長的業(yè)務(wù)的需要時,在充分優(yōu)化的基礎(chǔ)上進行適當擴展
10、,消除性能瓶頸。2.2 應(yīng)用性能管理流程應(yīng)用性能管理流程為保障 J2EE 應(yīng)用系統(tǒng)的高可用性和高性能,對系統(tǒng)開發(fā)、上線和運行等各個環(huán)節(jié)需要建立起包括問題發(fā)現(xiàn)、故障診斷、問題解決和日常維護等在內(nèi)的完整的管理流程,并借助相關(guān)管理工具,實現(xiàn)管理職能。問題發(fā)現(xiàn)問題發(fā)現(xiàn)在開發(fā)階段,需要測試和發(fā)現(xiàn)代碼中的錯誤和性能問題;在上線前性能測試中,需要發(fā)現(xiàn)和評估組成業(yè)務(wù)的各關(guān)鍵組件的執(zhí)行快慢問題,是否滿足設(shè)計和業(yè)務(wù)需求,及時對有問題的組件進行修改或調(diào)整;在運維時期,系統(tǒng)管理員需要借助相關(guān)的工具,發(fā)現(xiàn)和預(yù)測系統(tǒng)運行環(huán)境中主機、數(shù)據(jù)庫、應(yīng)用服務(wù)器和 J2EE 應(yīng)用中可能出現(xiàn)的問題。管理內(nèi)容包括主機及中間件、J2EE
11、應(yīng)用、相關(guān)的數(shù)據(jù)庫實例管理等,具體操作包括對系統(tǒng)和數(shù)據(jù)庫、應(yīng)用服務(wù)器狀態(tài)信息收集,以及相關(guān)性分析和門限值比較,并在此基礎(chǔ)上判斷系統(tǒng)目前的狀況。故障診斷故障診斷一旦發(fā)現(xiàn)問題或潛在的故障因素,管理人員需要借助相關(guān)工具進行深入的分析,確定產(chǎn)生這些問題的根本原因,能在所有系統(tǒng)組件和代碼中進行深入診斷,分析哪一個服務(wù)或組件慢,分析過程中需要深入考查 JAVA 代碼、SQL 語句等諸多因素,通過管理工具提供的專業(yè)化智能化診斷方法快速判斷問題。J2EE 軟件生命周期性能解決方案7問題解決問題解決系統(tǒng)維護和管理員需要借助相應(yīng)的管理工具解決問題,如 SQL 優(yōu)化、Java 代碼優(yōu)化等等。管理工具中內(nèi)置的專家建議
12、可以大大降低對管理人員的技能要求,提高工作效率。 綜合以上內(nèi)容,對J2EE應(yīng)用性能進行有效管理應(yīng)該貫穿在開發(fā)、測試、優(yōu)化、上線、監(jiān)控、診斷、修改調(diào)優(yōu)、再監(jiān)控等各個環(huán)節(jié),并形成閉環(huán)結(jié)構(gòu)的完整方法論,徹底解決J2EE應(yīng)用的性能問題,如下圖所示: 應(yīng)用性能管理應(yīng)用性能管理對應(yīng)用進行診斷對應(yīng)用進行診斷對目標系統(tǒng)對目標系統(tǒng)進行監(jiān)控進行監(jiān)控調(diào)整、性能調(diào)優(yōu)調(diào)整、性能調(diào)優(yōu)系統(tǒng)上線系統(tǒng)上線性能測試性能測試開發(fā)代碼優(yōu)開發(fā)代碼優(yōu)化化圖2-2 應(yīng)用性能管理的流程如圖 2-2 所示,對 J2EE 應(yīng)用性能管理主要由下面的步驟組成:在代碼編寫階段進行代碼級檢測和優(yōu)化對上線系統(tǒng)進行性能測試,對性能進行評估,對有問題的組件進
13、行鑒別和優(yōu)化對上線后業(yè)務(wù)系統(tǒng)進行監(jiān)控根據(jù)監(jiān)控數(shù)據(jù)對應(yīng)用進行問題診斷會同廠商、開發(fā)商、最終用戶進行系統(tǒng)和應(yīng)用程序的修改和調(diào)優(yōu)對優(yōu)化過的系統(tǒng)和應(yīng)用程序進行使用前的性能驗證和測試系統(tǒng)重新在線運行返回第三步,對系統(tǒng)進行監(jiān)控,確認問題的解決(有可能發(fā)現(xiàn)新的問題)J2EE 軟件生命周期性能解決方案83 Quest 解決方案解決方案基于J2EE應(yīng)用架構(gòu)的業(yè)務(wù)系統(tǒng)往往較為復(fù)雜,可能會包含有多個生產(chǎn)級應(yīng)用服務(wù)器、數(shù)百到千個 Java 技術(shù)組件,許多的業(yè)務(wù)邏輯還涉及到對數(shù)據(jù)庫的存取訪問,應(yīng)用出現(xiàn)問題的概率大大增加,因此會面臨如下的挑戰(zhàn):如何有效避免問題的發(fā)生?出現(xiàn)問題后如何快速識別和解決問題?出現(xiàn)問題后如何準確定
14、位發(fā)生性能問題的根源,明確在各部分的責(zé)任,避免相互指責(zé)和推卸責(zé)任?Quest 針對這些情況相應(yīng)地給出完整的 J2EE 應(yīng)用性能優(yōu)化管理解決方案,以便及時發(fā)現(xiàn)系統(tǒng)中存在的問題以及潛在的問題,并對 J2EE 應(yīng)用(包括數(shù)據(jù)庫)進行優(yōu)化管理?;?Quest 的產(chǎn)品建立發(fā)現(xiàn)問題,診斷問題、解決問題的管理方法。同時結(jié)合 Quest Software 的顧問服務(wù),對 J2EE 系統(tǒng)進行全方位的優(yōu)化,保證系統(tǒng)的高性能、高可用性。Quest 提供如下的相關(guān)工具:JProbe:調(diào)優(yōu)和測試工具,可對 Java 代碼做內(nèi)存泄漏(Memory Leaks)、數(shù)據(jù)競爭(Data Race) 、性能瓶頸等的分析。Per
15、formaSure:Java 應(yīng)用性能監(jiān)控和診斷工具,可基于用例對 J2EE 分布式系統(tǒng)進行全面的分析,包括 J2EE 應(yīng)用服務(wù)器、Web 服務(wù)器、數(shù)據(jù)庫服務(wù)器、網(wǎng)絡(luò)負載。Foglight:為企業(yè)用戶提供了一個完整的統(tǒng)一的性能管理平臺,進行服務(wù)和應(yīng)用的管理,分析和診斷 J2EE 中間件和數(shù)據(jù)庫方面的問題,保障應(yīng)用系統(tǒng)的性能和可用性。Quest J2EE 管理工具在應(yīng)用生命周期各階段的推薦使用如下圖所示:J2EE 軟件生命周期性能解決方案9圖 3-1 Quest J2EE 產(chǎn)品在應(yīng)用生命周期各階段的使用3.1 開發(fā)代碼質(zhì)量優(yōu)化開發(fā)代碼質(zhì)量優(yōu)化在 J2EE 應(yīng)用開發(fā)階段,Quest 公司提供 JP
16、robe 工具實現(xiàn)對 JAVA 代碼的檢測和優(yōu)化,JProbe 還能對 J2SE JAVA 標準應(yīng)用進行同樣的管理,為 J2EE 應(yīng)用和涉及到的其他 JAVA 應(yīng)用提供了全方位的支持。通過運用 JProbe,可以在開發(fā)環(huán)節(jié)取得如下效果:在壓力測試前解決性能問題,從而降低整體開發(fā)成本保障代碼質(zhì)量,提高開發(fā)效率,減少開發(fā)時間幫助開發(fā)人員建立開發(fā)規(guī)范、開發(fā)調(diào)試流程具體而言,JProbe 做為一個診斷和消除 Java 應(yīng)用程序錯誤和缺陷的全面的集成工具包,提供了一系列工具,能夠在編碼階段完成如下的代碼測試管理任務(wù):1對 JAVA 內(nèi)存泄漏和短期對象使用的檢查:通過使用JProbe Memory Deb
17、ugger 工具 , 提供對象的引用關(guān)系、對象的實例化過程以及堆的比較和 Leak Doctor 等功能,快速發(fā)現(xiàn),定位和解決內(nèi)存泄露問題;發(fā)現(xiàn)、分析和診斷短期對象使用問題,提供垃圾回收分析,垃圾回收對象統(tǒng)計,堆動態(tài)視圖,快照比較等功能,幫助快速定位短期對象問題,避免對 JAVA 內(nèi)存不合理使用導(dǎo)致的性能瓶頸。2快速和方便地發(fā)現(xiàn)和解決 JAVA 代碼的性能瓶頸, JProbe Profiler做為 性能瓶頸分析工具 ,可診斷到方法和代碼行,定位消耗時間長J2EE 軟件生命周期性能解決方案10的方法或代碼行,以及執(zhí)行次數(shù)過多的代碼行或方法。3在進行代碼單元測試和功能測試的時候,通過運用代碼測試跟
18、蹤工具JProbe Coverage,一方面確定測試用例是否完整,另一方面測試是否存在無效代碼,提高軟件質(zhì)量,盡早測試,降低整體開發(fā)成本;JProbe 可以和 IDE 工具(如 Jbuilder、Eclipse、WSAD)、Build 工具(如 Ant)、測試工具(如 Junit)等進行無縫集成,將 JProbe 完全融入到開發(fā)、測試環(huán)節(jié)中,形成開發(fā)、測試 JAVA 代碼優(yōu)化規(guī)范,運用 JProbe 的過程流程如下:1JProbe 可以和交互式方法測試集成在一起。 首先開發(fā)人員使用 IDE 工具從版本控制系統(tǒng)中取出負責(zé)開發(fā)的組件代碼,一旦做了更改,開發(fā)人員需要使用 JUnit 等測試工具進行測
19、試或者手工進行測試。 無論是哪種測試,都可以使用 JProbe 分析測試,分析更改對實際造成的影響。開發(fā)人員可以按照需要保存 Jprobe 的快照,比如性能快照、內(nèi)存分析快照、線程分析快照等,可以做更詳細的分析,也可以和上一次的版本結(jié)果進行比較。 最后,開發(fā)人員可以將結(jié)果生成報告分發(fā)給開發(fā)經(jīng)理或內(nèi)部質(zhì)量控制小組。開發(fā)經(jīng)理審查報告確認問題,并快速給出反饋,通知相關(guān)的開發(fā)人員進行修改或修復(fù)問題。 2JProbe 也可以參與到自動執(zhí)行工作流程中,JProbe 可以和 Ant 工具進行無縫集成,提供 Ant 相關(guān)的標簽定義,如觸發(fā)器、拍快照、生成報告等,從而可以在無人值守的時候進行自動分析。 比如,可
20、以在晚上某個時候調(diào)度啟動 Ant 工具進行應(yīng)用程序的 build、單元測試等工作,同時 JProbe 相關(guān)功能被激發(fā),可以自動保存性能、內(nèi)存、線程分析等各種快照,并存放在指定的位置上,根據(jù)這些快照,JProbe 進一步可以自動生成報告。 所有 Jprobe 以上的工作都做為 Ant 工具運行中的一部分而進行。 開發(fā)人員使用 JProbe 進行內(nèi)存泄露檢查和系統(tǒng)瓶頸分析,從代碼級保障應(yīng)用系統(tǒng)的性能;在集成測試中進行代碼交付的檢查和優(yōu)化,確保不存在內(nèi)存泄露、性能瓶頸問題及代碼覆蓋問題;從而實現(xiàn)軟件生命周期的主動性能優(yōu)化,避免問題而不是在出現(xiàn)問題后解決問題。J2EE 軟件生命周期性能解決方案113.
21、2 測試應(yīng)用組件優(yōu)化測試應(yīng)用組件優(yōu)化由于J2EE多層架構(gòu)的特點和直身的復(fù)雜性,J2EE應(yīng)用在開發(fā)完畢上線之前必須進行必要的測試,保證應(yīng)用性能質(zhì)量。目前企業(yè)對IT建設(shè)中的J2EE應(yīng)用系統(tǒng)的質(zhì)量和運行可靠性越來越重視,很多企業(yè)如移動、電力、銀行等紛紛建立自己的QA部門,并引入自動化測試軟件和應(yīng)用管理軟件,以加強對關(guān)鍵、核心業(yè)務(wù)應(yīng)用的質(zhì)量控制和運行管理。隨著應(yīng)用的增多和越來越復(fù)雜,企業(yè)IT部門也迫切需要一些智能化的 J2EE 診斷工具,在應(yīng)用系統(tǒng)上線前的壓力測試階段和在實際的生產(chǎn)環(huán)境和真實負載的情形下,跟蹤和分析 J2EE 應(yīng)用組件及代碼中的性能問題。 針對以上的情況,Quest公司提供以下的工具和
22、解決方法,確保應(yīng)用的性能質(zhì)量:1借助Quest的J2EE 應(yīng)用性能診斷工具PerformaSure,可以對J2EE分布式系統(tǒng)進行全面的分析,包括J2EE應(yīng)用服務(wù)器、Web服務(wù)器、數(shù)據(jù)庫服務(wù)器、網(wǎng)絡(luò)負載等,可以對應(yīng)用進行JAVA組件級和SQL語句的性能評估。2當需要進行代碼級檢查或系統(tǒng)中存在非 J2EE 的 JAVA 應(yīng)用需要做性能檢測和內(nèi)存使用檢查時,則使用 JProbe 工具進行代碼級檢測。J2EE 軟件生命周期性能解決方案12在性能、壓力測試階段,Quest 提供如下的解決問題的思路:使用壓力測試工具對系統(tǒng)進行壓力測試,盡管可以對應(yīng)用進行性能的評估,但壓力測試工具是一種黑盒測試,當某個功能
23、點出現(xiàn)性能問題需要進一步分析組成功能的各組件的性能時,壓力測試工具則顯得無能為力;因此,為了進行深入診斷,就需要借助 J2EE 優(yōu)化診斷工具 PerformaSure, 以事務(wù)為中心進行業(yè)務(wù)錄制和組件方法級的分析。運用 PerformaSure 可以基于測試用例在虛擬壓力下對目標系統(tǒng)相關(guān)業(yè)務(wù)進行深入分析,得到 JAVA 各組件的執(zhí)行調(diào)用路徑圖和精確執(zhí)行時間,結(jié)合壓力測試工具,最終給出非常準確的性能參考和評估。同時在測試過程中,PerformaSure 還可以及時發(fā)現(xiàn)和診斷系統(tǒng)在高負載下是否存在性能問題,保證系統(tǒng)上線前的壓力測試的最佳效果。PerformaSure針對J2EE應(yīng)用的特點,提供強大
24、的性能數(shù)據(jù)收集分析功能。對進行壓力測試的系統(tǒng),在壓力測試過程中,可以啟動PerformaSure對被測系統(tǒng)的壓力負載下的事務(wù)、響應(yīng)處理情況進行錄制;對生產(chǎn)系統(tǒng),當發(fā)現(xiàn)有性能問題時,可以啟動PerformaSure對生產(chǎn)系統(tǒng)進行自動錄制。錄制時可以設(shè)置數(shù)據(jù)采樣頻率、采樣策略、對需要或不需要收集的頁面、組件的過濾等;特別地,PerformaSure考慮到對被測系統(tǒng)的影響,錄制選項里提供了是否錄制到組件級還是更深入地收集數(shù)據(jù)的級別調(diào)節(jié),保證滿足各種收集數(shù)據(jù)的需求。 當錄制好一定時間段的系統(tǒng)運行狀況的信息后,PerformaSure將其保存為Session文件,并提供如下的分析性能問題的步驟和方法手段
25、:1查找有問題的用戶事務(wù),定位問題出現(xiàn)在哪個環(huán)節(jié)。PerformSure定義每J2EE 軟件生命周期性能解決方案13一個用戶請求響應(yīng)為完整的一個事務(wù),通過錄制到的Session可以查看到每個事務(wù)的執(zhí)行時間,查找到執(zhí)行時間最長的事務(wù)。同時,PerformSure還可以從服務(wù)器、應(yīng)用各業(yè)務(wù)層、組件級等做各種角度的鉆取,深入分析、并且可以定位問題出現(xiàn)在J2EE多層應(yīng)用的那個層面,包括Web服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫等。2PerformaSure對事務(wù)可以進行自動關(guān)聯(lián)性能數(shù)據(jù)分析,給出事務(wù)的各種性能圖表,形成全局視圖,包括組成事務(wù)的各個部分如HTTP、Servlet、EJB、JDBC等在整個事務(wù)中的各
26、自執(zhí)行時間,確定資源占用情況。3PerformaSure通過對事務(wù)相關(guān)的各組件形成實際的調(diào)用路徑圖,可以快速查找事務(wù)相關(guān)的低效率的Servlet、JSP、EJB、Java類以及相應(yīng)具體的方法,并給出每個組件、方法的執(zhí)行時間,找到存在性能瓶頸的問題或應(yīng)用中需要優(yōu)化的地方。如下圖所示為PerformaSure對基于BEA Portal和Hibernate架構(gòu)的應(yīng)用系統(tǒng)的分析,顯示組成事務(wù)的各方法調(diào)用路徑圖,以不同色標顯示區(qū)分各組件方法執(zhí)行的時間長短,圖中紅色表示執(zhí)行時間較長的方法,定位到是應(yīng)用層中Hibernate架構(gòu)中的一個方法,并給出詳細的時間統(tǒng)計數(shù)據(jù):J2EE 軟件生命周期性能解決方案14圖
27、 3-2 PerformaSure 對請求事務(wù)進行方法級的分析4PerformaSure還提供對J2EE應(yīng)用中所有和數(shù)據(jù)庫操作相的關(guān)SQL語句的進一步分析能力,通過專門的Sql Broswer工具找出運行緩慢的SQL語句,確認應(yīng)用中對數(shù)據(jù)庫的不恰當?shù)氖褂谩?. 除以上的分析診斷手段外,PerformaSure收集和提供了非常全面的各種性能數(shù)據(jù),并以節(jié)點樹結(jié)構(gòu)的形式呈現(xiàn)給分析人員,包括對應(yīng)用服務(wù)器和JVM等的詳細性能數(shù)據(jù),能夠檢測應(yīng)用服務(wù)器的配置是否有問題,是否存在內(nèi)存泄漏問題等,及時發(fā)現(xiàn)不易察覺的性能問題。如下圖為對WebSphere及其上應(yīng)用的詳細性能情況,并以樹狀形式展現(xiàn)出來,點擊任一性能
28、指標,會給出隨時間變化曲線圖。圖 3-3 PerformaSure 提供的 J2EE 應(yīng)用性能數(shù)據(jù)視圖6. 如果需要查看網(wǎng)絡(luò)流量情況,通過PerformaSure的Network Traffic Broswer可以對機器網(wǎng)絡(luò)流量進行詳細分析,確認網(wǎng)絡(luò)負載是否飽和以及對應(yīng)用性能的影響。7如果對有問題的組件需要深入到JAVA代碼內(nèi)部,則通過PerformaSure可以直接生成JProbe需要的文件,由JProbe進行進一步的分析。J2EE 軟件生命周期性能解決方案153.3 上線試運行診斷優(yōu)化上線試運行診斷優(yōu)化J2EE 應(yīng)用系統(tǒng)在上線后一般都會有一定的試運行期間,盡管經(jīng)過性能壓力測試后系統(tǒng)可能會能
29、夠承受設(shè)計所要求的用戶并發(fā)壓力,但實際的業(yè)務(wù)運轉(zhuǎn)和性能測試畢竟不同,業(yè)務(wù)使用的復(fù)雜性、多樣性是性能測試所無法比擬的,另外,組件模塊可能存在的錯誤、業(yè)務(wù)邏輯的不合理設(shè)計、業(yè)務(wù)量的增長和一些無法預(yù)料的因素等的存在也會增大試運行期間出現(xiàn)問題的危險。大量的實踐表明,試運行的系統(tǒng)往往是不穩(wěn)定的,總會或多或少地存在這樣或那樣的問題,而且一些以前不易察覺的、隱藏的問題也會隨著業(yè)務(wù)的大規(guī)模正式使用而暴露出來。如果在試運行期間不能很好地處理和解決這些問題,會極大地影響到業(yè)務(wù)的正常使用。試運行期間,建議使用 Foglight 并結(jié)合 JProbe 進行應(yīng)用監(jiān)控和及時的問題診斷。Foglight 是 Quest 公
30、司針對生產(chǎn)系統(tǒng)的運行提供的功能全面的性能管理平臺,對構(gòu)成應(yīng)用系統(tǒng)的各個技術(shù)層次進行監(jiān)控和分析。監(jiān)控的內(nèi)容包括網(wǎng)絡(luò)設(shè)備、操作系統(tǒng)、數(shù)據(jù)庫、J2EE 中間件、Web 服務(wù)器、客戶端性能、應(yīng)用業(yè)務(wù)等。利用 Foglight,IT 管理人員可以清楚了解關(guān)鍵業(yè)務(wù)應(yīng)用的服務(wù)等級狀態(tài),從業(yè)務(wù)角度評測和衡量服務(wù)等級水平,并且在用戶的性能和可用性受到影響之前及時地發(fā)現(xiàn)和解決問題。Foglight 能夠?qū)?fù)雜的 J2EE 應(yīng)用架構(gòu)進行全面地監(jiān)控,并能提供詳細的分析、報告和報警,以這些信息為指導(dǎo),管理員可以快速定位系統(tǒng)的瓶頸所在。當發(fā)現(xiàn)系統(tǒng)出現(xiàn)性能時,進行錄制和分析,提供整個 J2EE 應(yīng)用程序環(huán)境的組件級視圖,從
31、而將問題直接定位到組件級,如果再結(jié)合 JProbe,進而定位到語句級。通過以上的一系列方法,可以在試運行期間保證應(yīng)用正常運行,對出現(xiàn)的問題進行處理,并對系統(tǒng)進行優(yōu)化分析,使系統(tǒng)在正式運行之前能達到最佳狀態(tài)。J2EE 軟件生命周期性能解決方案163.4 運維監(jiān)控性能管理運維監(jiān)控性能管理當系統(tǒng)正式運行以后,即進入生產(chǎn)系統(tǒng)運維階段。在此階段借助Quest的產(chǎn)品建議建立一個企業(yè)級的生產(chǎn)系統(tǒng)應(yīng)用程序管理(監(jiān)控)解決方案,從而允許IT運維部門 724 小時地持續(xù)監(jiān)控任意生產(chǎn)環(huán)境中的應(yīng)用程序,該監(jiān)控方案將起到以下作用:1.打破傳統(tǒng)的黑箱模式,提供整個 Java 應(yīng)用程序環(huán)境的組件級視圖,從而將問題直接定位到
32、組件級。2.對業(yè)務(wù)系統(tǒng)的運行情況進行實時監(jiān)控,一旦發(fā)現(xiàn)性能問題,可以在第一時間報警。3.將業(yè)務(wù)系統(tǒng)的運行情況以監(jiān)控指標的方式實時存儲到數(shù)據(jù)庫,當系統(tǒng)發(fā)生問題時,可以通過察看歷史數(shù)據(jù)更好地定位問題和明確責(zé)任。4.監(jiān)控軟件的部署不會導(dǎo)致系統(tǒng)資源開銷的增加和應(yīng)用程序性能降低,對應(yīng)用系統(tǒng)不造成任何干擾。Foglight為運維階段的應(yīng)用性能監(jiān)控管理提供保障:1.使用Foglight對業(yè)務(wù)系統(tǒng)的運行情況進行實時監(jiān)控,一旦發(fā)現(xiàn)應(yīng)用性能問題,可以在第一時間進行報警和通知。2.Foglight將業(yè)務(wù)系統(tǒng)的運行情況實時存儲到關(guān)系數(shù)據(jù)庫里,根據(jù)實際情況可以察看歷史數(shù)據(jù),分析和預(yù)測未來變化趨勢,及時預(yù)見到和發(fā)現(xiàn)可能出
33、現(xiàn)的問題,并提交給相關(guān)責(zé)任人員,快速進行處理。3.在 Foglight 7x24 小時監(jiān)控的基礎(chǔ)上,當發(fā)現(xiàn)系統(tǒng)出現(xiàn)性能時,進行錄制,對特定事務(wù)請求進行組件、方法級的分析,可以極大減少解決問題的時間,使得生產(chǎn)系統(tǒng)從問題狀態(tài)迅速恢復(fù)到正常狀態(tài),業(yè)務(wù)使用受影響程度減少到最小。J2EE應(yīng)用整體監(jiān)控診斷優(yōu)化的理念應(yīng)該是:對生產(chǎn)系統(tǒng)的J2EE的監(jiān)控應(yīng)該采用最少的監(jiān)控代價,通過采用輕型的監(jiān)控方法來實時監(jiān)控和定位問題,當發(fā)現(xiàn)或預(yù)測存在問題時,再采用簡潔的管理工具和方法快速診斷問題,進行處理J2EE 軟件生命周期性能解決方案17或優(yōu)化。除了J2EE的管理功能外,可以結(jié)合Quest數(shù)據(jù)庫管理功能,形成一個統(tǒng)一的系
34、統(tǒng)應(yīng)用管理平臺??傊?,在運維階段,在系統(tǒng)上線后的生產(chǎn)環(huán)境里,結(jié)合最終用戶的實際業(yè)務(wù)數(shù)據(jù)和系統(tǒng)架構(gòu)的運行參數(shù),通過 Quest 提供的管理工具,可以實現(xiàn)對 J2EE應(yīng)用性能的監(jiān)控、檢測、發(fā)現(xiàn)問題、解決問題的全過程,增強 IT 整體運維水平,提高客戶的滿意度和提升服務(wù)質(zhì)量。J2EE 軟件生命周期性能解決方案184 Quest 解決方案優(yōu)勢解決方案優(yōu)勢Quest 除提供 J2EE 應(yīng)用性能管理工具外,還提供數(shù)據(jù)庫性能診斷、優(yōu)化工具,從而形成完整的解決方案。除了產(chǎn)品外,Quest 還提供配套的專業(yè)服務(wù),以保障產(chǎn)品能夠有效部署在客戶環(huán)境中。解決方案的優(yōu)勢如下:1完整的應(yīng)用性能和可用性管理解決方案完整的應(yīng)
35、用性能和可用性管理解決方案方案中提供了統(tǒng)一的應(yīng)用性能監(jiān)控平臺,可監(jiān)控與企業(yè)應(yīng)用性能相關(guān)的多種技術(shù)組件,包括數(shù)據(jù)庫、網(wǎng)絡(luò)、應(yīng)用服務(wù)器、操作系統(tǒng)和 Web 服務(wù)器、SAPSiebelPeopleSoft 等。通過關(guān)聯(lián)分析,F(xiàn)oglight 可預(yù)測和發(fā)現(xiàn)性能隱患,在影響最終用戶前,向管理員發(fā)出預(yù)警信息。Quest 產(chǎn)品可以和網(wǎng)管平臺集成,將報警事件發(fā)送到網(wǎng)管控制臺。2強大的強大的 J2EE 管理功能管理功能Quest 產(chǎn)品在運維系統(tǒng)中側(cè)重問題發(fā)現(xiàn)和配置問題的診斷,對系統(tǒng)資源占用低、和數(shù)據(jù)庫管理方案自然集成,便于最大程度發(fā)揮產(chǎn)品價值,建立有效的運維管理機制;針對應(yīng)用相關(guān)的 J2EE 問題,提供深入的性
36、能診斷和解決問題能力,促進應(yīng)用系統(tǒng)的穩(wěn)定性和性能;Quest 產(chǎn)品提供生產(chǎn)階段中間件的診斷能力,減少運維人員學(xué)習(xí)中間件的時間,提供運行減少 J2EE 的學(xué)習(xí)時間,解決配置方面的問題;J2EE 方面絕大部門的問題發(fā)生在應(yīng)用方面,針對每個應(yīng)用系統(tǒng),利用Quest 的管理工具可以進行深入細致的檢測,在性能問題出現(xiàn)的關(guān)鍵時間點進行錄制和分析,隔離并找出應(yīng)用方面的問題,全面解決;對主流的 J2EE 中間件提供全面的支持,適應(yīng)用戶各種企業(yè)級的要求。3很高的產(chǎn)品易用性和可維護性很高的產(chǎn)品易用性和可維護性J2EE 應(yīng)用性能管理方案中涉及的所有 Quest 產(chǎn)品安裝配置都非常簡單、快捷,并且使用界面友好,功能強
37、大,管理和維護都比較容易,降低用戶額外的學(xué)習(xí)、維護管理成本,而專注于對目標系統(tǒng)的管理。4提升提升 IT 系統(tǒng)的投資效益系統(tǒng)的投資效益解決方案可以很好地改善 IT 系統(tǒng)的性能和可用性,帶來良好的投資效益。用戶的關(guān)鍵業(yè)務(wù)應(yīng)用對于系統(tǒng)的高可用性有著極為嚴格的要求,即使是短時間J2EE 軟件生命周期性能解決方案19的故障停機,也可能對企業(yè)的經(jīng)濟效益和企業(yè)形象產(chǎn)生巨大的影響。解決方案不僅可以在問題出現(xiàn)時快速排除存在的故障,降低相關(guān)損失,還可以在未出現(xiàn)問題時提前作出預(yù)警和診斷,利用主動式管理,消除系統(tǒng)隱患,避免故障發(fā)生。管理人員可以有效地把握系統(tǒng)的當前狀態(tài)和未來趨勢,更好地確定系統(tǒng)未來的管理和建設(shè)目標,避
38、免盲目、不必要的軟硬件升級,提高系統(tǒng)的投資回報和企業(yè)的效率。5完善完善 IT 管理機制管理機制從管理角度看,管理工具的采用,可以在很大程度上改變 IT 系統(tǒng)管理的模式,將人為的、依賴管理人員自身經(jīng)驗和技能的管理工作,提升為一種直觀、科學(xué)、有據(jù)可依的量化管理機制。結(jié)合管理工具的各種強大功能,企業(yè)可以建立完善的應(yīng)用系統(tǒng)質(zhì)量管理體系,在系統(tǒng)生命周期的各個環(huán)節(jié)都提供質(zhì)量保障機制,6簡化簡化 IT 管理工作管理工作J2EE 應(yīng)用性能管理類似于一個密閉的黑盒子,可視化管理功能較差。在手工維護方式下,管理人員很難直接了解系統(tǒng)的內(nèi)部狀態(tài),無法進行針對性的管理工作,最終,系統(tǒng)和應(yīng)用中的問題和隱患,會長期積累和掩
39、蓋起來,得不到及時解決,系統(tǒng)出故障的概率會大大增加。通過管理工具可以提供專家級建議,可以深入到應(yīng)用內(nèi)部進行分析,可以對應(yīng)用各個層次進行監(jiān)控和診斷。極大提高了管理人員的工作效率和工作質(zhì)量,簡化和規(guī)范了管理工作。7Quest 自身提供強大的服務(wù)能力自身提供強大的服務(wù)能力Quest 公司在產(chǎn)品使用、數(shù)據(jù)庫和中間件性能優(yōu)化、運維管理方面具有豐富的經(jīng)驗,可以幫助更好地發(fā)揮產(chǎn)品的價值,優(yōu)化系統(tǒng)的性能,建立數(shù)據(jù)庫運維管理體系,建立中間件、應(yīng)用性能運維管理體系。J2EE 軟件生命周期性能解決方案205 Quest J2EE 管理工具介紹管理工具介紹Quest 提供的 J2EE 應(yīng)用性能管理工具 的功能和特點說
40、明如下: 5.1 JProbeJProbe Suite 曾經(jīng)三次榮獲 Software Development Magazine Jolt Productivity Award 大獎,可幫助 Java 開發(fā)者和質(zhì)量控制/測試小組快速診斷代碼級的性能、內(nèi)存使用和代碼覆蓋問題,以加速問題的發(fā)現(xiàn)和解決。JProbe 可加速項目開發(fā),降低開發(fā)成本,保證Java應(yīng)用的性能和擴展性。JProbe Suite 幫助用戶實現(xiàn)以下目標:快速方便地發(fā)現(xiàn)和消除性能瓶頸查找最影響應(yīng)用性能和內(nèi)存使用的特定代碼行在應(yīng)用開發(fā)的實施過程中盡早消除編程錯誤和性能問題,降低硬件及開發(fā)成本增加應(yīng)用發(fā)布信心改善應(yīng)用性能和最終用戶滿意
41、度自動調(diào)度性能數(shù)據(jù)采集到非業(yè)務(wù)高峰時段JProbe 做為一個診斷和消除 Java 應(yīng)用程序錯誤和缺陷的全面的集成工具包,可以幫助開發(fā)人員準確找出應(yīng)用程序中發(fā)生錯誤的部分,并追蹤到錯誤的代碼行,JProbe 工具包中有三個工具,分別是:JProbe Memory Debugger:內(nèi)存泄漏檢查工具JProbe Profiler:性能瓶頸分析工具JProbe Coverage:代碼測試跟蹤工具對以上三個工具具體介紹如下:JProbe Memory DebuggerJProbe Memory Debugger 有助于消除閑置對象,減少 Java 應(yīng)用系統(tǒng)使用的內(nèi)存。利用直觀的 Runtime Hea
42、p Summary 窗口可以實時地顯示內(nèi)存的使用,包J2EE 軟件生命周期性能解決方案21括內(nèi)存分配和垃圾回收。以顏色標注的 Reference Graph 可以顯示在堆棧(Heap)中哪些對象包含對其他對象的引用,同時加亮提示潛在的問題。樹狀的 Instance Detail View 能夠以易于瀏覽的形式顯示復(fù)雜的數(shù)據(jù)。利用 JProbe 的堆??煺眨⊿napshot)分辨技術(shù)可以度量代碼的改變是如何影響應(yīng)用程序使用內(nèi)存的,并且通過 Memory Instance Calculator 能夠計算內(nèi)存泄漏大小。JProbe ProfilerJProbe Profiler 使用可視化的 Cal
43、l Graph 界面和獨有的數(shù)據(jù)采集技術(shù)提供精確的逐行代碼分析。使用強大的 Garbage Monitor 來監(jiān)測那些創(chuàng)建過多的臨時對象的方法。分析每行代碼使用的時間并調(diào)整有問題的部分。利用九種不同的性能指標來確定性能瓶頸的真正原因。在整個開發(fā)周期中,JProbe 的性能快照(Snapshot)分辨技術(shù)能夠度量代碼的改變是如何影響應(yīng)用程序性能。JProbe Profiler 是顯著地提高 Java 應(yīng)用系統(tǒng)性能的最快、最容易的工具。J2EE 軟件生命周期性能解決方案22JProbe Coverage為了確保對 Java 應(yīng)用系統(tǒng)的精確測試,開發(fā)人員和 QA(質(zhì)量保證)人員需要知道有多少代碼被測
44、試過,并找出哪些尚未測試的代碼。JProbe Coverage可以幫助用戶找出未被執(zhí)行的代碼并且精確地度量測試過的代碼,從而更容易地評估所做測試的可靠性及準確性。用戶可以瀏覽、打印、小組中共享測試結(jié)果或者以 XML 的格式輸出用來定制分析和報告,這樣就可在最短時間內(nèi)得到質(zhì)量最高的應(yīng)用代碼。J2EE 軟件生命周期性能解決方案235.2 PerformaSurePerformaSure 是低耗的、根據(jù)事務(wù)來檢測的 J2EE 性能診斷工具,用于測試在正式投入使用前的環(huán)境中運行的多層 J2EE 應(yīng)用系統(tǒng)。PerformaSure 使 J2EEJ2EE 軟件生命周期性能解決方案24項目團隊負責(zé)負載測試的工程師、系統(tǒng)管理員、高級開發(fā)人員能夠從全程事務(wù)的角度測量、分析并最大限度地提高性能,減少基礎(chǔ)設(shè)施成本。通過在負載測試中配置系統(tǒng)的診斷智能,經(jīng)理們可以確信性能的改進只集中于直接影響客戶體驗的組件,避免系統(tǒng)運行中出現(xiàn)大的問題。PerformaSure 和負載模擬器配合使用可以通過跟蹤全程事務(wù)來確定問題的根源。PerformaSure 跟蹤和建立從 Web Server、集群服務(wù)器、數(shù)據(jù)庫的用戶的事務(wù)處理中每一步函數(shù)級別的時間撲捉,提供
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育機構(gòu)講師團隊合作協(xié)議
- 公司文員勞動協(xié)議
- 全球環(huán)境治理項目資金捐贈協(xié)議
- 中國地理讀后感
- 《數(shù)學(xué)競賽題庫設(shè)計與復(fù)習(xí)教學(xué)教案》
- 大宗商品貿(mào)易管理流程手冊
- 委托貸款借款合同
- 農(nóng)產(chǎn)品質(zhì)量安全追溯手冊
- 互聯(lián)網(wǎng)軟件開發(fā)合同協(xié)議
- 綠化工程承包合同協(xié)議
- sm通道開關(guān)量冗余輸入端子模塊使用說明書
- 位相差和光程差
- 高質(zhì)量SCI論文入門必備從選題到發(fā)表全套課件
- 前列腺癌的診斷與治療課件
- 產(chǎn)品開發(fā)的變更流程
- 氣管鏡科室講課ppt課件(PPT 69頁)
- 蝴蝶豌豆花(課堂PPT)
- 無創(chuàng)呼吸機的應(yīng)用(飛利浦偉康V60)課件
- 口腔修復(fù)學(xué)-第七章-牙列缺失的全口義齒修復(fù)
- 對于二氧化碳傳感器的現(xiàn)狀及發(fā)展趨勢的淺分析
- 麥語言函數(shù)手冊參考模板
評論
0/150
提交評論