使用HP-Mercury產品實施全面的J2EE監控和診斷解決方案

發表于:2007-09-24來源:作者:點擊數: 標簽:mercury解決方案
簡介 J2EE (Java 2 Platform, Enterprise Edition) 是Web應用 開發 的主要標準。J2EE是專為大型企業設計一個Java平臺,以滿足他們對于數據處理的 需求 。它通過創建標準化的、可重復使用的模塊組件,以及自動處理程序設計,簡化了瘦客戶(thin-client)端多

簡介

J2EE (Java 2 Platform, Enterprise Edition) 是Web應用開發的主要標準。J2EE是專為大型企業設計一個Java平臺,以滿足他們對于數據處理的需求。它通過創建標準化的、可重復使用的模塊組件,以及自動處理程序設計,簡化了瘦客戶(thin-client)端多層次環境中的應用開發,可以減少程序設計工作,降低程序人員的培訓需要。

例如IBM、BEA、Sun和Oracle等許多供應商已經實現了J2EE標準,并且,他們現正在作市場推廣,鼓勵各企業使用他們的J2EE應用服務器進行英特網和企業內部互聯網(Intranet)的應用開發。J2EE框架迅速發展并變得越來越普遍。在短短幾年中,J2EE已經成為企業在創建以Web為中心、關鍵業務應用的過程中的首選平臺。事實上,對于許多《財富》2000強公司來說,基于J2EE的應用服務器已經成為他們Web應用基礎架構的核心。

目錄

簡介

J2EE應用的成功關鍵

應用實施

應用管理

監控上線的J2EE應用所面臨的獨特挑戰

基于J2EE的Web應用的復雜性

J2EE基礎架構的分布特性

傳統的系統管理方法是不完善的

有效J2EE監控的要求

關注最終用戶和整個業務流程

采用以業務為中心的方法

管理以用戶為中心的SLAs

采用由上至下的分析方法

全面收集監控信息

關聯最終用戶體驗和應用系統活動

尋找典型J2EE錯誤

現有J2EE應用管理解決方案的局限性

美科利業務可用性中心:適用于J2EE的全面性能管理解決方案

以業務為中心的IT管理

有效的J2EE應用管理:美科利的與眾不同之處

360度實時監控

篩選診斷法

深層次診斷法——解決最棘手的J2EE性能問題

美科利生命周期探測器:以最少的人力資源實現最大化的可見性

為集群環境提供的支持

總結

J2EE應用的成功關鍵

現在比以前任何時候都需要部署并維持高性能的Web應用。您一旦決定采用J2EE標準開發基于Web的應用,就需要在整個應用生命周期中采用最佳的軟件和服務來優化基于J2EE應用的質量、性能和可用性。該應用生命周期應該與IT管控、應用實施和應用管理這幾個主要階段并駕齊驅,共同前行(見圖1)。

應用實施

應用測試將有助于衡量出應用的準備就緒情況,并使預先部署好的應用質量達到最大化,以滿足業務和最終用戶的要求。為了在應用開發的各個階段能識別并隔離問題,您必須進行功能、負載、性能和可擴展性測試。

當您把應用和系統投入生產時,關鍵業務部署階段就開始了。生產調優將幫您衡量性能的準備就緒情況,最大化各個應用的效率。生產調優的一個重要副產品就是性能基線的創建。這些基線將有助于評估最終用戶的線上交易情況,并定義服務水平協議(SLAs)。

應用管理

應用部署完畢后,機構必須不斷驗證:應用對于最終用戶來說是可用的;其性能維持在可接受的限制范圍內。維持一致的、高水平的性能的唯一方法就是進行應用性能和可用性監控——而且該監控方案必須能關注于最終用戶體驗,采用由上至下的方法,這樣才能自始至終地幫您全面而徹底地了解系統性能情況。

監控上線的J2EE應用所面臨的獨特挑戰

電子業務應用是您機構的生命力。您依靠這些應用來控制您的供應鏈、庫存和資源。更重要的是,您依靠它們來幫您管理您與供應商、合作伙伴,當然還有客戶之間的關系。一些公司花費了上百萬美元的金錢去建立最先進的Web應用,但仍然在丟失客戶。為什么?因為,在這些網站創建完畢并開始運行后,它們缺少那些能監控和改進網站效率和性能的工具。雖然恰當的監控是保證J2EE應用的性能和可擴展性的關鍵點,但是J2EE環境監控本身就面臨著獨特的挑戰。

基于J2EE的Web應用的復雜性

想要找到一種靈活的性能管理方法,它既包含內部J2EE環境,還包含起支持作用的基礎架構,這本身就是種挑戰。支持那些基于J2EE的Web應用的基礎架構是一個復雜的、多層次的結構,其中包括客戶機器、負載平衡器、防火墻、Web服務器、應用服務器、安全服務器、交易服務器、數據庫服務器以及這些組件之間的網絡鏈接。同時,由于J2EE應用服務器是建立在無數個組件基礎上的多層次結構(見圖2),所以其本身也具有內部復雜性。應用服務器通過某個Web服務器接收到客戶發出的HTTP要求,然后采用各種J2EE組件(例如:servlets、JSPs、EJBs和helper classes)和各種外部實體(例如:數據庫和大機系統)處理這些要求,再發回HTTP響應。如果我們知道,許多J2EE部署環境中的兩個或更多的應用服務器(結果往往是JVMs)運行在由許多個處理器組成的服務器上,那么我們就很容易理解,為什么有效的監控J2EEWeb應用是一項令人望而卻步的任務了。

J2EE基礎架構的分布特性

理想狀態下,那些基于J2EE的Web應用的組件應位于同一個地區,這將有助于您的順利操作和控制。但事實往往是:在外方的監管下,不同的組件分布于各個分散且相距遙遠的地方。并且,鑒于英特網“永遠為業務而開放”的理念和最大程度縮小用戶之間地理差距的特性,J2EE應用的創建和管理方法必須能為當今英特網地球村中任何一個地區的客戶提供24x7的全天候服務。網站監控器和工作人員必須也要適應不斷變化的基礎架構,與之并駕齊驅。

傳統的系統管理方法是不完善的

例如企業系統管理(ESM)等傳統的監控和管理方法在監控J2EE環境方面的成效是有限的。因為它們對硬件和軟件、客戶和服務器、后端和最終用戶之間采用一對一的對應關系,這不能反應出某個基于J2EE的Web基礎架構的真實狀況。相反, J2EE應用的性能決定于Java虛擬機(JVM)和其無數個調整參數,而并非決定于物理硬件和操作系統。并且,多個J2EE應用可以相互集成,或與大機應用、Web服務、甚至與以上所有應用服務相集成,使中間件層成為一個相互依存的網絡。

有效J2EE監控的要求

您一旦認為J2EE應用管理解決方案對于您的電子商務應用具有至關重要的作用,您還需要考慮以下問題:哪種解決方案可以使企業獲取最高的投資回報率(ROI)?以下,我們將討論最佳J2EE性能管理解決方案應具備的條件。

關注最終用戶和整個業務流程

最終用戶客戶是業務的最重要資產。無論是否存在“真實”用戶在進行交易,我們都能并且應該在全天24小時、一周7天中不間斷地衡量和報告一個Web應用的最終用戶體驗情況。否則,該解決方案如何能證明:所有交易對于最終用戶來說都是完整而令人滿意的?當產生某個影響最終用戶性能的問題時,您又能如何自動得知相關情況呢?

采用以業務為核心的方法

如果您采用一個以業務為核心的方法來管理您的應用,您就能在性能和可用性問題影響業務和底線之前,就能識別并解決這些問題。這種方法就要求您的IT系統、基礎架構和業務流程相互統一,共同創造出業務成果。最佳的性能管理解決方案應能幫您管理主要業務流程和J2EE應用所傳送的業務交易。

管理以用戶為中心的SLAs

J2EE性能管理解決方案必須能使企業和服務供應商從用戶中心角度去管理服務水平——對業務的健康狀況和服務水平狀況提出有價值的見解。同時,它也必須能為分布式環境中的各個復雜業務應用提供SLA順應性報告。機構應該能夠定義、衡量和跟蹤以最終用戶體驗為基礎的性能服務水平,而不僅僅是能夠監控基礎架構內部單個silo組件的服務水平。

采用由上至下的分析方法

監控應用性能和可用性的第一步就是要能從系統上下整個范圍內了解您的應用的健康狀況。由上至下的信息顯示是全面了解您的J2EE系統的最佳方法,它能讓您便捷地了解到哪些應用運行正常,那些應用存在問題,需要進一步檢測。然而,對于故障修復來說,僅僅只有這種由上至下的視圖是遠遠不夠的;所以下一步就是要進一步深入分析應用,把存在的性能問題和產生這些問題的根本原因通過粒狀度量法進行關聯。

收集全面的監控信息

正如我們已經提到的,基于J2EE的Web基礎架構具有一個復雜的結構。因此,我們不僅應該從應用服務器上收集性能和可用性數據,而且應該從其他一切與用戶要求響應或業務流程響應有關的系統和組件中收集相關數據。這些相關的組件包括數據庫、安全系統、代理服務器、交易服務器和負載平衡器。當然,所面臨的挑戰就是:以盡可能最低的操作費用,收集足夠的數據來滿足高水平的、由上至下的信息表述的需要,以及問題詳細分析的需要。

關聯最終用戶體驗和應用系統活動

從那些J2EE應用和系統所衡量取得的性能和可用性標準必須與最終用戶經歷相關聯起來——例如:把從應用服務器衡量取得的JDBC呼叫數量與某個特定業務交易相互關聯。一旦建立了這種相關性,您的IT員工就能迅速找到產生性能和可用性問題的根本原因,并且能以最快的速度解決這些問題。另外,相關性還有助于優化最終用戶狀況警報和錯誤查找工作。

尋找典型J2EE錯誤

J2EE平臺上開發Java應用,會產生其本身所獨有的各種性能、可用性和可擴展性問題。監控J2EE應用時,您的問題解決方案必須能對以下普通J2EE缺陷作出響應:

l 低劣的代碼、設計和結構,例如內存泄漏、數據庫連接數不足、過多的遠程調用、大量的限制重復使用的有狀態對象(stateful objects)和未釋放的JDBC連接。

l 錯誤的參數設定,比如:數據庫排隊(Queuing)和死鎖(Deadlock)、不合理的緩沖池大小、不正確的執行線程數、以及過小或過大的JVM內存量。

l 不合理的容量規劃,無論是低估了并發用戶的數量和資源,還是高估了所需容量,都將導致金錢的浪費。

l 不合適的集群,它將導致不正確的負載平衡,由于會話保持而造成的額外性能過載,并且如果該會話始終工作于同一節點,將會削弱應用可用性(例如”粘滯” Sticky會話)。

現有J2EE應用管理解決方案的局限性

新一代的基于J2EE的應用所需要的解決方案應該具有以下特點:主動性、反應性、采用自上而下和自下而上兩種分析方式、能從商業和IT的角度出發提供整個應用基礎架構的性能和可用性狀況。

然而,市場上存在的幾種J2EE應用管理解決方案,其中大多數采用由下至上的以IT為中心的方法,只能對J2EE silo進行監控。這些問題解決方案僅僅從J2EE應用服務器收集性能指標,所以無法向操作者和業務使用者提供可用性和性能的整體情況信息,只能從組件水平上提供應用性能的零星描述。為了能有效管理那些基于J2EE的應用,操作人員和業務部門必須從最終用戶角度出發了解應用性能,并且作出相應分析,以保證最終能完成變更,使應用支持下的業務交易得以流暢地展開。

最后,作為總結,讓我們一起來看一下傳統的“由下至上、以IT為中心”的傳統方法在進行性能監控時所缺乏的方面:

l 采用以業務為中心的方法:現有的以IT為中心的方法無法讓您看到J2EE性能問題對業務產生的影響。采用以業務為中心的方法來管理您的J2EE應用,這是非常必要的,它能幫您隨時了解業務的發展動向。

l 管理以用戶為中心的SLAs:現有的silo監控方法無法定義,跟蹤和管理那些滿足業務目標的服務水平。這樣,您的性能水平就無法保持一致性,無法主動發現并解決問題,從而,您就無法得到最大的投資回報率和利潤。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97