《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于會話外觀模式的EJB性能調優

基于會話外觀模式的EJB性能調優

2009-08-28
作者:梁惠平1,呂述望2

  摘 要: 通過對影響EJB性能因素的分析,給出了對EJB應用程序調優的策略和方法,并詳細說明了采用會話外觀模式的EJB設計模式后對系統性能的影響。會話外觀模式簡化了Web容器和EJB容器之間的耦合,減少了在網絡邊界上的調用過程,同時實現了對安全權限和事務的集中管理。
  關鍵詞: EJB;性能優化;會話外觀模式;耦合

?

  目前,軟件設計大多采用多層體系架構,實現了應用層與用戶層分離,這種架構形式具有更強的通用性和兼容性,提高了系統的性能和功能。
??? 在多層體系架構的應用層中,由于傳統的COM+(Component Object Model)組件技術的移植性和通用性比較有限,一般都采用J2EE的關鍵技術——EJB組件技術,該技術已得到世界上大多數廠家的支持,使系統的升級、開發過程中有更大的選擇空間。
  由于EJB組件技術作為J2EE系統技術的基礎,所以選擇不同的EJB組件模型和設計模式,在很大程度上可以影響EJB應用程序的整體性能,通常整體性能是被很小的一部分的代碼所決定。本文通過對影響EJB性能因素的分析,給出了EJB應用程序調優的策略和方法。并詳細說明了采用一種會話外觀模式的EJB設計模式后對系統性能的影響。
1 影響EJB性能的因素
  影響EJB應用程序性能的因素包括以下幾點:
??? (1)網絡帶寬和網絡業務的數量:如果網絡帶寬偏低而網絡業務較高,則應用服務器上的最優化的EJB應用程序也變得低效。
??? (2)硬件和操作系統:硬件和操作環境直接影響應用服務器的可伸縮性和性能,從而影響EJB應用程序的性能。
??? (3)應用服務器(和它們的配置)專有特性、可伸縮性的性能:應用程序的運行也依賴于運行應用程序的應用服務器,應用服務器的品牌、配置和設置都會影響應用服務器的性能和伸縮性,從而影響EJB應用程序的性能和伸縮性。
??? (4)EJB應用程序部署商為特定的應用服務器優化應用程序的知識和經驗:如果部署商沒有為操作環境和應用程序服務器優化地設置、部署參數,那么即使是最優化的EJB應用程序也會拙劣的執行。
??? (5)EJB應用程序的設計和實現:一般情況下,Bean開發人員無法控制網絡帶寬、使用的硬件類型和應用服務器的品牌。但能夠做的是:盡力地優化EJB以實現提高性能;分析裝配參數的優化設置向裝配商和部署商提供盡可能多的信息。
2 EJB應用程序的設計決策
??? 所謂EJB設計決策主要是如何選擇3種Bean:實體Bean、會話Bean和消息驅動Bean;如何選擇BMP和CMP;如何選擇本地接口和遠程接口[1,2,9]。
??? 3種Bean的選擇:如果事務中要編譯和維護數據,就要選擇實體Bean,如果數據時間上是數據的瞬像,則可使用無狀態的會話Bean,并從實體Bean中取得信息,返回數值對象。會話Bean表示業務過程,可以維護所有的業務邏輯,包括數據驗證。消息驅動Bean主要用于異步通信的過程中。
??? 有狀態的會話Bean和無狀態的會話Bean的選擇:有狀態的會話Bean需要更多的服務器資源,它在方法調用之間維護數據。無狀態的會話Bean需要更多的網絡資源,每次調用遠程方法時,需要的所有相關數據都要以參數的形式傳入。
??? BMP和CMP的選擇:CMP可以減少代碼的編寫量,而且允許容器進行很多優化,用容器實現持久性處理邏輯,具有較強的移植性。而BMP中包含數據庫訪問代碼,可以更好地控制數據實現,但額外的代碼編寫量大,移植性差。
??? 遠程接口和本地接口的選擇:本地接口可以減少開銷量,允許本地組件進行本地通信,在調用方法和參數中按引用對象傳遞,本地接口的對象不需要支持RMI-IIOP協議,傳遞速度快。遠程接口的對象在調用中按數值傳遞,提供了一個遠程的、與位置無關的視圖必須實現RMI接口,造成較大的延遲。
3 調優EJB應用程序的策略
3.1 減少遠程調用

  和EJB的分布式結構有關的主要性能的關注點就是它所需要的網絡通信量。當遠程客戶機對EJB進行調用時,需要借助RMI-IIOP協議,從而需要一定量的網絡開銷。其中包括客戶機與容器之間通過網絡傳遞數據的開銷。減少網絡開銷的方法有兩種:一種是將會話Bean作為實體Bean的前端,前端會話Bean通過對實體Bean的調用是本地方法調用,從而可以避免大量網絡通信的開銷。另外這樣可以將表示邏輯與業務邏輯分離,從而降低了EJB的復雜性。另一種是盡量使用本地接口,使用引用傳遞參數避免了調用和解調用的開銷,從而減少了不必要的網絡業務[3,7,10]。
3.2 使用適當的EJB設計模式[4,7,11]
??? 設計模式可以認為是藍圖或模板解決方案,這些解決方案可以容易地修改以解決在環境中重復發生的問題。設計模式的使用可以節省時間和精力。使用驗證過的設計模式解決特定類型的問題。模式由以下元素組成:
??? (1)模式名稱:簡潔地表達了模式的本質。
??? (2)背景:問題發生的環境。
??? (3)問題:對待解決問題的細節描述。
??? (4)用途:有關形成模式的動機和基本原理的列表。
??? (5)解決方案:描述解決問題的方式,用類圖和順序圖解釋它們的結構。
??? (6)參與者及其職責:模式中所有對象的列表。
??? EJB設計模式分為:數據訪問對象模式、值對象模式、值對象裝配器模式、值對象列表處理程序模式、服務定位器模式、會話外觀模式、業務對象代表模式等7種模式。
??? 可以根據不同的實際問題應用不同的模式。值對象模式通過減少對實體Bean的精細調用而降低潛在的網絡通信量,同時通過簡單地訪問Bean的字段值給客戶端提供實體Bean,特別應用到遠程客戶端訪問實體Bean的情況。
??? 會話外觀模式允許開發人員給客戶端和表示層通過會話Bean提供大致的EJB事務邏輯訪問。這種模式向客戶提供了一個統一的訪問層和接口,負責定位、創建執行業務對象中的業務邏輯。使用會話Bean來封裝和隱藏參與業務流程的業務對象之間交互的復雜性。
4 會話外觀模式
??? 采用Grinder測試工具測試開發的原型EJB,Grinder的默認行為是發布客戶的HTTP請求,然后模擬瀏覽器請求Web服務器,通過建立1個輕便的分配器Servlet,將Web服務器上的請求給EJB容器。這樣可以很好地模仿的現實中的情況,如圖1所示。

?


4.1 測試配置及測試腳本摘錄
??? 所有的測試在三臺機器上運行:一臺運行 Grinder及其線程,另一臺運行應用服務器,第三臺運行數據庫服務器。測試在1、5、10個用戶負載下運行,通過對基準響應時間和總的事務率的測試結果,表明使用會話外觀模式的優越性。
??? 在Grinder測試腳本中執行的請求是隨著測試案例而變化的,但本質上類似,因為每個請求都是調用調度器Servlet,分析基于響應時間和總的事務率的結果[5,6,8,10]。下面是基于會話外觀測試模式的測試腳本摘錄:
??? grinder.jvm.talk=base
??? #start/stop from Grinder Cart
??? grinder.receiveCartSignals=true
??? grinder.grinderAddress=192.168.0.1
??? grinder.grinderport=789
??? ...
??? grinder.test1.parameter.url=http://sun2:5026/course/Dispatcher
??? grinder.test1.parameter.header.Content=application/x-www-form-urlencoded
??? grinder.test.description=find a course title with “6a”
??? grinder.test.paramter.post=find-6a.dat
??? ...
4.2 測試說明
??? 定義容器管理的實體Bean-CourseEJB,本文將對在CourseEJB前是否加入會話外觀模式,說明會話外觀模式的優勢。因為Web組件對實體Bean進行多次遠程調用時開銷很大。會話外觀模式使用無狀態的會話Bean封裝了Web組件需要執行的實體Bean-CourseEJB的業務邏輯[2,4]。與圖2所示的不使用會話外觀模式Facadeoff序列圖相比,圖3所示會話外觀模式使Web容器和EJB容器之間的耦合大大簡化了,多個精細的遠程實體存取器的調用變為較粗的遠程調用。即所有實體方法的調用都封裝在1個單一的會話Bean方法中:

?

?


??? public collection forCourseDescriptionLocal(String searchCourseID)
??? 該方法的實現等同于在FacadeOff中的實體Bean方法調用序列。
??? 可以把會話模式理解為在更大的粒度上實現的業務流程,在應用中,底層的企業Bean雖可以實現多種功能模塊,但這些企業Bean的功能模塊單獨存在對于客戶是沒有意義的,客戶需要的是一次完整的“操作”過程,如果在這個工程中客戶對每一種方法都要依次調用,從網絡的負荷、系統安全性及事務的集中管理等角度上都是不合理的。因此可以將“操作”作為一個會話模式封裝具體的業務過程,客戶對象在需要業務功能時只需要調用一次遠程接口,極大減少了在網絡邊界上的調用過程,同時實現了對安全權限和事務的集中管理。
4.3 測試結果比較
??? (1)響應時間對比結果如圖4所示。


??? 對于1個用戶的負載,使用會話外觀模式中使響應時間減少了38%,而10個用戶的負載使響應時間減少了81%。
??? (2)總的事務率對比結果如圖5所示。


??? 這種影響是非常顯著的,對于1個用戶的吞吐量增加了158%,10個用戶的吞吐量增加了392%。
??? 本文通過對影響EJB性能因素的分析,給出了對EJB應用程序調優的策略和方法。并詳細說明了采用會話外觀模式的EJB設計模式后對系統性能的影響。會話外觀模式減少了在網絡邊界上的調用過程,同時實現了對安全權限和事務的集中管理,使Web容器和EJB容器之間的耦合大大簡化了。隨著應用負載的增加,從系統響應時間和總的事務率都凸現出會話外觀模式的優勢,在更大的粒度上實現了業務流程。


參考文獻
[1] 孫宏濱.基于J2EE三層結構分布系統的設計與實現[J].齊齊哈爾大學學報,2002,18(4):61.
[2] 陳華軍.J2EE構建企業級應用解決方案[M].北京:人民郵電出版社,2002.
[3] 班書昊.EJB企業應用與開發實例[M].北京:北京科海電子出版社,2003.
[4] 梁剛.面向企業信息系統的J2EE[J].黑龍江通信技術,2002(1):38.
[5] CAVANESS Chuck, Special edition using enterprise java beans[D].SUN公司核心技術叢書 2002:22-27.
[6] 袁國勇.EJB組件開發模型及實現技術[J].應用技術,2002(12):22-23.
[7] 高奇微.分布式中間層EJB的研究與開發[J].中國農業大學學報,2001,6(4):88.
[8] 馬廷淮.用EJB開發J2EE應用[J].計算機應用,2002,22(4):109-110.
[9] 彭宏慶.基于EJB的多層分布式系統模型的研究與應用[J].航空計算技術,2002,32(4):106.
[10] 高振東.基于J2EE系統的EJB技術研究與應用[J].航空計算技術,2003,33(1):71.
[11] 段江.使用EJB組件技術開發多層應用[J].計算機輔助工程,2003(4):29-30.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          激情久久久久久| 最新高清无码专区| 国产热re99久久6国产精品| 欧美美女日韩| 国产欧美一区二区精品仙草咪| 国产偷国产偷精品高清尤物| 亚洲理论在线观看| 国产精品美女久久福利网站| 欧美激情第二页| 亚洲黄色视屏| 欧美国产精品va在线观看| 另类酷文…触手系列精品集v1小说| 在线成人国产| 激情小说另类小说亚洲欧美| 欧美激情中文字幕一区二区| 嫩模写真一区二区三区三州| 欧美激情综合五月色丁香小说| 亚洲精品国产视频| 伊人影院久久| 欧美日韩精品一区| 亚洲午夜精品久久久久久浪潮| 亚洲经典自拍| 午夜精品亚洲| 中文精品一区二区三区| 欧美精品日韩一区| 一二三区精品福利视频| 国产精品国产a| 久久久蜜臀国产一区二区| 亚洲一区二区三区三| 欧美日韩美女在线| 欧美成人激情视频免费观看| 亚洲激情成人在线| 久久精品五月| 国产视频亚洲精品| 免费亚洲电影| 欧美久久久久久久久久| 麻豆精品精品国产自在97香蕉| 亚洲欧美日本国产专区一区| 美女啪啪无遮挡免费久久网站| 女女同性精品视频| 欧美日韩高清在线播放| 一区二区三区免费在线观看| 一本色道88久久加勒比精品| 亚洲一区二区在| 一本色道久久综合亚洲91| 欧美午夜精品久久久久久超碰| 国产精品日韩欧美| 国产精品视频一区二区三区| 国产亚洲福利一区| 亚洲免费伊人电影在线观看av| 欧美激情在线免费观看| 蜜臀99久久精品久久久久久软件| 久久久久久久久一区二区| 久久久无码精品亚洲日韩按摩| 国产精品视区| 亚洲视频在线看| 亚洲国产精品电影| 欧美一区二区三区在线观看| 国产精品久久久一区二区三区| 国产亚洲成av人片在线观看桃| 国产精品福利在线观看| 亚洲国产精品久久久久婷婷884| 亚洲人午夜精品免费| 欧美一区国产在线| 国产精品视频精品视频| 久久久久久久久久码影片| 亚洲视频香蕉人妖| 久久久久久久国产| 久久一区精品| 国产精品高潮粉嫩av| 亚洲夜晚福利在线观看| 久久精品免费| 亚洲欧美激情一区| 欧美三级在线视频| 久久男女视频| 欧美在线一区二区三区| 久久人人爽人人爽爽久久| 亚洲欧美中文在线视频| 今天的高清视频免费播放成人| 欧美成人一区二免费视频软件| 国产精品r级在线| 国产视频观看一区| 欧美日韩久久久久久| 正在播放日韩| 午夜国产精品视频免费体验区| 久久中文久久字幕| 一色屋精品视频免费看| 欧美精选午夜久久久乱码6080| 亚洲国产视频直播| 亚洲最新视频在线播放| 欧美成人视屏| 欧美在线free| 黑人巨大精品欧美黑白配亚洲| 在线观看日韩av| 男女视频一区二区| 国产婷婷一区二区| 夜夜爽夜夜爽精品视频| 久久人人看视频| 一区免费观看| 久久精品道一区二区三区| 一本色道久久88亚洲综合88| 99国产精品久久久| 国产精品视频成人| 国产精品一香蕉国产线看观看| 欧美aa在线视频| 久久婷婷丁香| 久久久国产精品亚洲一区| 激情久久久久久久| 欧美三级乱人伦电影| 国产欧美日韩免费| 国产精品国产精品| 久久国产黑丝| 国语自产精品视频在线看8查询8| 亚洲综合欧美日韩| 99视频在线观看一区三区| 久久久久国产精品一区| 国产精品日韩久久久久| 国产三级精品三级| 欧美巨乳在线观看| 久久国产精品一区二区三区| 亚洲激情综合| 久久久久久久综合日本| 欧美日韩高清在线一区| 亚洲视频福利| 欧美国产另类| 久久精品72免费观看| 欧美主播一区二区三区| 亚洲午夜免费福利视频| 亚洲一区精彩视频| 久久综合九色综合网站| 91久久精品一区二区别| 在线成人免费观看| 欧美激情第五页| 最新日韩在线| 国产精品伊人日日| 亚洲欧美日本精品| 欧美私人网站| 国产一区二区在线观看免费| 国内精品视频666| 欧美大色视频| 久久国产欧美日韩精品| 久久精品人人做人人爽| 欧美凹凸一区二区三区视频| 亚洲激情成人在线| 欧美14一18处毛片| 欧美另类69精品久久久久9999| 亚洲福利视频免费观看| 欧美亚洲在线观看| 欧美一激情一区二区三区| 欧美日韩国产综合网| 久久久免费观看视频| 女人天堂亚洲aⅴ在线观看| 亚洲精品国产拍免费91在线| 亚洲欧美清纯在线制服| 欧美日韩午夜剧场| 国产精品v亚洲精品v日韩精品| 老司机精品视频一区二区三区| 亚洲午夜在线| 欧美成人一区二区三区| 麻豆91精品| 在线观看不卡| 欧美日韩美女在线观看| 欧美三级第一页| 校园春色国产精品| 久久亚洲综合| 欧美日韩精品免费观看视频完整| 看欧美日韩国产| 欧美激情视频一区二区三区不卡| 欧美另类videos死尸| 欧美日本亚洲视频| 亚洲欧美日韩久久精品| 欧美日韩国产成人| 欧美精品九九| 午夜精品福利在线| 久久久久久亚洲精品中文字幕| 国产欧美一区二区视频| 亚洲欧美综合v| 国产情侣久久| 欧美日韩一区三区四区| 免费不卡欧美自拍视频| 午夜免费久久久久| 国产人成精品一区二区三| 亚洲福利视频网站| 蜜桃av噜噜一区二区三区| 亚洲第一精品夜夜躁人人爽| 红桃视频成人| 亚洲午夜免费视频| 国产精品欧美久久| 久久精彩免费视频| 另类天堂视频在线观看| 欧美成人精品福利| 亚洲一级片在线观看| 久久在线精品| 久久精品视频网| 女女同性女同一区二区三区91| 亚洲综合色网站| 欧美在线视频不卡| 欧美精品日日鲁夜夜添| 国产女人水真多18毛片18精品视频| 欧美亚洲在线播放| 日韩手机在线导航| 久久亚洲私人国产精品va媚药| 久久久久国产精品一区二区| 欧美11—12娇小xxxx| 99精品国产在热久久| 欧美日韩伊人| 亚洲一区二区精品在线观看| 欧美人成在线视频| 在线观看欧美激情| 久久激情五月丁香伊人| 久久久久久久久久久久久9999| 国产精品视频免费观看www| 国产拍揄自揄精品视频麻豆| 欧美日韩国产123区| 亚洲第一区在线| 亚洲国语精品自产拍在线观看| 91久久久久久久久久久久久| 久久久另类综合| 国产精品v日韩精品| 久久久精品国产99久久精品芒果| 性欧美暴力猛交69hd| 欧美日韩另类视频| 性做久久久久久| 免费美女久久99| 久久久久久自在自线| 国产日韩精品一区二区三区| 在线观看日韩av电影| 亚洲女人天堂av| 亚洲激情一区| 影音先锋日韩精品| 国产精品香蕉在线观看| 亚洲风情在线资源站| 国产在线一区二区三区四区| 亚洲第一区色| 国产精品色一区二区三区| 国产九九精品视频| 一区二区日本视频| 国产一区二区三区在线免费观看| 99在线精品免费视频九九视| 亚洲欧洲一区二区天堂久久| 伊人成人开心激情综合网| 一本一本久久a久久精品综合妖精| 国产亚洲激情视频在线| 揄拍成人国产精品视频| 欧美激情视频在线播放| 久久久久久久尹人综合网亚洲| 国产精品青草久久久久福利99| 蜜臀久久99精品久久久久久9| 欧美激情亚洲综合一区| 欧美午夜激情在线| 久久伊人亚洲| 国产精品综合| 亚洲欧洲视频在线| 欧美日韩三级在线| 欧美日韩视频在线一区二区| 国产乱码精品一区二区三区不卡| 久久www免费人成看片高清| 久久这里只精品最新地址| 午夜精品理论片| 黄色成人片子| 国产视频亚洲精品| 亚洲欧洲日产国产综合网| 国产区在线观看成人精品| 国产伦精品一区| 国产主播在线一区| 久久亚洲精品中文字幕冲田杏梨| 欧美激情久久久久| 欧美日韩久久精品| 欧美日韩在线电影| 亚洲区中文字幕| 欧美jizzhd精品欧美喷水| 亚洲激情婷婷| 久久久久久一区二区| 伊人激情综合| 国产精品毛片一区二区三区| 亚洲激情在线播放| 亚洲高清免费在线| 精品福利电影| 欧美区一区二区三区| 久久久久久综合| 欧美一区二区视频97| 欧美日韩少妇| 欧美激情综合亚洲一二区| 久久精品一本| 国产精品腿扒开做爽爽爽挤奶网站| 中文亚洲字幕| 一区二区三区视频在线播放| 亚洲综合色视频| 99视频精品全部免费在线| 久久久精品性| 激情亚洲一区二区三区四区| 国产中文一区| 亚洲福利在线看| 久久av在线| 国内精品久久久久影院薰衣草| a91a精品视频在线观看| 亚洲一级影院| 欧美精品观看| 亚洲精品小视频在线观看| 国产亚洲欧美激情| 香蕉久久夜色精品| 国产精品大全| 校园春色综合网| 欧美日韩一区二区三区视频| 男人的天堂亚洲在线| 一本色道综合亚洲| 亚洲一区二区三区精品在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产视频在线观看一区二区| 欧美性视频网站| 国产色婷婷国产综合在线理论片a| 国产日韩欧美黄色| 影音先锋日韩资源| 亚洲美女电影在线| 日韩一区二区久久| 久久视频国产精品免费视频在线| 激情综合在线| 欧美日韩一区二区高清| 欧美揉bbbbb揉bbbbb| 国产精品私人影院| 午夜精品影院在线观看| 欧美一区综合| 国产精品日本欧美一区二区三区| 欧美日韩爆操| 一色屋精品视频在线观看网站| 欧美日韩在线观看一区二区| 午夜免费久久久久| 一区二区毛片|