国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

WAS 5.x中數(shù)據(jù)源的配置使用及常見問題

2019-11-18 11:47:23
字體:
供稿:網(wǎng)友

  針對高可見性項目的性能測試挑戰(zhàn)
  一個金融機構(gòu)的近期項目需要交付一個中間件基礎(chǔ)設(shè)施,用于支持增長的應(yīng)用程序列表,這些應(yīng)用程序需要訪問企業(yè)的核心金融系統(tǒng)。該體系結(jié)構(gòu)的方向是要求所有的核心金融系統(tǒng)請求都經(jīng)由該中間件解決方案,該方案使用基于 xml 的 IFX 消息標(biāo)準(zhǔn)。圖 1 顯示了與第一個應(yīng)用程序有關(guān)的中間件基礎(chǔ)設(shè)施(以粗體顯示),以及未來的應(yīng)用程序和后端系統(tǒng)(以灰色顯示)。
  
  
圖 1. 待測試的解決方案

  
 WAS 5.x中數(shù)據(jù)源的配置使用及常見問題(圖一)


  要使得該高可見性項目獲得認(rèn)可,必須演示在各種負(fù)載之下的最佳性能。這對于響應(yīng)時間敏感的客戶來說尤為重要,例如聯(lián)絡(luò)中心的 CRM 應(yīng)用程序。另一個需要考慮的問題是,當(dāng)新的應(yīng)用程序出現(xiàn)在中間件的“前面”和“后面”時(圖 1 中顯示了一個位于中間件“后面”的企業(yè)和消費者信用卡服務(wù)系統(tǒng)的未來實現(xiàn)),需要重用已選擇的性能測試方法。
  
  無用戶接口
  指定使用中間件基礎(chǔ)設(shè)施的第一個應(yīng)用程序是存款處理應(yīng)用程序,它預(yù)定在中間件項目完成之后實現(xiàn)。這意味著測試團隊不得不在沒有用戶接口可以預(yù)備和提交中間件請求的情況下模擬生產(chǎn)負(fù)載。
  
  有限預(yù)算
  金融機構(gòu)并沒有合適的工具集來支持中間件性能測試。因此,這里的挑戰(zhàn)是確信地報告已觀察到的中間件性能特性,同時將用于工具和預(yù)備工作的預(yù)算保持最小。
  
  使用 JMeter 救急
  通過研究各種可用的開放源代碼測試工具,發(fā)現(xiàn) Apache JMeter 可以支持中間件性能測試需求。 JMeter 提供一個基于 GUI 的應(yīng)用程序,用于設(shè)計和執(zhí)行多種可重用的測試計劃。JMeter 還支持以 XML 格式捕捉測試結(jié)果,用于測試后的統(tǒng)計分析。這兩個特性幫助測試團隊開發(fā)和文檔化可重復(fù)的測試結(jié)果,從而滿足“高可見性”的挑戰(zhàn)。
  
  許多開放源代碼的測試工具是設(shè)計用于測試 Web 站點的,并期望測試能夠模擬用戶與一個或者多個頁面或表單的交互。因為在測試中間件解決方案時,應(yīng)用程序的 Web 接口并不可用,所以已選擇的工具必須在沒有瀏覽器交互的情況下支持基于 XML 的消息。JMeter 的 SOAP/XML 請求組件滿足該要求。
  
  最后,由于 JMeter 是 Apache 軟件基金會的產(chǎn)品,這個事實意味著該項目并不要求支付商業(yè)測試工具的許可證費用,從而滿足“有限預(yù)算”的條件。
  
  設(shè)計測試腳本
  性能測試的目標(biāo)是,在各種并發(fā)負(fù)載條件下提交隨機選擇的、預(yù)先定義的、IFX 編碼的請求消息,并記錄接收到 IFX 編碼的響應(yīng)的耗用時間(elapsed time)。下面五個 JMeter 測試計劃組件用于預(yù)備性能測試腳本。
  
  測試計劃
  這是用于測試的主要組件。在這里,測試名是根據(jù)項目的命名約定指定的。同時,選擇 Functional Test Mode,以便在由 View Results Tree 治理的測試結(jié)果中捕捉完整的 IFX 編碼的響應(yīng)。
  
  
圖 2. JMeter 測試計劃

  
 WAS 5.x中數(shù)據(jù)源的配置使用及常見問題(圖二)

  HTTP Header Manager
  該組件用于指定中間件所需要的 HTTP 頭的值。發(fā)送到中間件的每個 IFX 編碼的請求都將包括這些 HTTP 頭的值。
  
  
圖 3. JMeter HTTP Header Manager

  
 WAS 5.x中數(shù)據(jù)源的配置使用及常見問題(圖三)

  Thread Group
  該組件按照測試計劃的要求進行重復(fù),以模擬一個特定數(shù)目的并發(fā)用戶。例如,模擬 5 個并發(fā)用戶,需要指定 5 個 Thread Group。
  
  
4. JMeter Thread Group

  
 WAS 5.x中數(shù)據(jù)源的配置使用及常見問題(圖四)

  注重,Thread Group 組件具有一個標(biāo)簽為 Number of Threads 的域,用于控制與一個 Thread Group 相關(guān)聯(lián)的線程數(shù)目。由于每個 Thread Group 具有一個惟一的隨機選擇的 IFX 編碼的請求集合(請參閱下面的 SOAP/XML-RPC Request),因此決定將每個 Thread Group 限制為一個線程。假如對于一個或者多個 Thread Group 指定多個線程,那么相同的消息集合將會被發(fā)送多次,這將違反隨機選取準(zhǔn)則的目標(biāo)。
  
  SOAP/XML-RPC Request
  針對每個 Thread Group 所發(fā)送的期望數(shù)目的 IFX 編碼請求,重復(fù)該組件。實際的 IFX 編碼的請求是在該組件中指定的。
  
  
圖 5. JMeter SOAP/XML-RPC Request

  
 WAS 5.x中數(shù)據(jù)源的配置使用及常見問題(圖五)

  View Results Tree
  該組件服務(wù)于兩個目的。當(dāng)測試執(zhí)行時,該用戶接口顯示消息被發(fā)送和接收的測試過程。而且,該組件將測試結(jié)果寫入到一個文件,用于測試后的分析。
  
  
圖 6. JMeter View Results Tree

  
 WAS 5.x中數(shù)據(jù)源的配置使用及常見問題(圖六)

  JMeter 測試計劃被設(shè)計用于模擬多種并發(fā)用戶負(fù)載,從單一用戶到最大為 80 個并發(fā)用戶。對于所有的測試計劃,上面所描述的五個組件以一致的方式進行部署,從而簡化了性能測試的執(zhí)行。
  
  構(gòu)建測試腳本
  一旦已經(jīng)確定所需的 JMeter 組件并且已經(jīng)構(gòu)思好一個通用的測試計劃設(shè)計,就必須構(gòu)建測試腳本了。幸運的是,System Integration Test (請參閱 參考資料)中有超過 300 個 IFX 編碼的模型請求消息和相關(guān)的測試數(shù)據(jù)可以重用。相應(yīng)的挑戰(zhàn)是預(yù)備測試腳本可以發(fā)送多達 8000 個(對于 80 個線程,每個線程 100 個)隨機選擇的請求消息。這些消息是隨機選擇的,從而更好地接近生產(chǎn)條件的穩(wěn)定狀態(tài),生產(chǎn)條件下沒有一個請求類型可能會比其他類型提交得更多。單獨使用 JMeter 用戶接口,將意味著手工剪切和粘貼消息到 8000 個 SOAP/XML-RPC Request 中。為了使得該任務(wù)進一步復(fù)雜化,根據(jù)金融機構(gòu)的 IFX 規(guī)范,每個請求還要求惟一的 RQUID。
  
  自動創(chuàng)建測試腳本
  正如已經(jīng)提到的,該項目的性能測試方法將針對未來的中間件版本進行重用。因此,測試團隊投入一些精力預(yù)備一個 java 應(yīng)用程序,用于根據(jù)指定的參數(shù)輸出 JMeter XML 編碼的測試腳本。該 Java 應(yīng)用程序稱為 Scripter,它可以預(yù)備一個性能測試腳本,該腳本具有指定數(shù)目的線程并且每個線程具有指定數(shù)目的 IFX 編碼的消息,由應(yīng)用程序隨機選擇。IFX 編碼的消息來源于一個消息集合,該集合在 Scripter 的屬性文件所指定的目錄中提供。
  
  從本文 參考資料 小節(jié)中的鏈接,您可以下載 Scripter Java 應(yīng)用程序的源代碼和用法說明。
  
  執(zhí)行測試
  JMeter 安裝在一個 雙通道的 IBM eServer™ xSeries® 360 服務(wù)器上,該服務(wù)器具有 2 GB RAM 并且運行 Windows® 2000。圖 7 顯示測試配置。
  
  
圖 7. JMeter 性能測試配置

  
WAS 5.x中數(shù)據(jù)源的配置使用及常見問題(圖七)

  當(dāng)測試執(zhí)行時,IFX 編碼的響應(yīng)被記錄,從而可以分析包含在中間件響應(yīng)中的捕捉到的 MQ Time 和 Total Time 度量。還可以分析 JMeter 觀察到的 JMeter Time,盡管該數(shù)字還包括在中間件和 JMeter 之間的網(wǎng)絡(luò)延遲。
  
  測試團隊執(zhí)行三個性能測試周期,在前兩個周期之后通過修改和配置調(diào)整從而改進應(yīng)用程序的性能。
  
  分析結(jié)果
  測試團隊使用 Microsoft® Excel 電子數(shù)據(jù)表來導(dǎo)入測試結(jié)果,并且針對上面描述的耗用時間度量執(zhí)行統(tǒng)計運算。然后,結(jié)果被圖形化,從而顯示該應(yīng)用程序?qū)τ诖蠖鄶?shù)測試條件提供的次秒級(sub-second)響應(yīng)性。
  
  獲得的經(jīng)驗
  總的說來,JMeter 作為該項目的性能測試工具是一個極好的選擇。下面所獲得的經(jīng)驗提供另外的細節(jié)。
  
  JMeter 滿足我們的需要
  JMeter 易于安裝并且具有中等的熟悉復(fù)雜度(請參閱下一條經(jīng)驗)。所選擇的 JMeter 組件針對所有的性能測試腳本提供了一個公共的結(jié)構(gòu)。測試結(jié)果的 XML 編碼輸出對于測試后分析是一個方便的特性,因為該選項捕捉了包含在 IFX 編碼的應(yīng)答消息中的性能統(tǒng)計。
  
  JMeter 用戶應(yīng)該具有技術(shù)能力
  為了正確地預(yù)備性能測試腳本,腳本開發(fā)人員必須很好地理解使用 HTTP 和 XML 協(xié)議的分布式應(yīng)用程序。商業(yè)用戶可能發(fā)現(xiàn)難以使用各種 JMeter 組件的技術(shù)規(guī)范。
  
  創(chuàng)建大的腳本可能需要額外的自動化處理
  我們的性能測試特性(隨機的消息選取,并發(fā)性,以及包含在每個 IFX 編碼的請求中的惟一值)要求一個自動化的方法產(chǎn)生測試腳本。幸運的是,測試團隊具有足夠的 Java 技術(shù)能力使得該任務(wù)自動化。對于具有類似需要的人,本文的末尾提供了該應(yīng)用程序。
  
  假如時間(和能力!)答應(yīng)的話,團隊還可以開發(fā)一個新的符合該項目需要的 JMeter 組件,并且將該組件提交給 Apache 組織。
  
  定制的性能度量可以幫助確定問題
  JMeter 應(yīng)用程序可以測量在傳輸 IFX 編碼的請求和接收 IFX 編碼的應(yīng)答之間的耗用時間。然而,該度量并不提供有關(guān)該分布式中間件解決方案所存在的潛在瓶頸的內(nèi)部信息。中間件開發(fā)團隊提供另外的性能度量,將用于主機通信、消息分析的耗用時間與用于事務(wù)處理的中間件耗用時間隔離開來。這些度量作為 XML 注解包含在 IFX 編碼的應(yīng)答中。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉义县| 小金县| 河北省| 顺平县| 永丰县| 泾源县| 三门县| 西贡区| 伊吾县| 新丰县| 故城县| 苍梧县| 巨鹿县| 巧家县| 阿克陶县| 崇义县| 凯里市| 霞浦县| 昌江| 且末县| 汽车| 湾仔区| 韶关市| 上高县| 克东县| 勃利县| 墨竹工卡县| 洪泽县| 友谊县| 黄冈市| 霸州市| 集贤县| 兴山县| 舟山市| 开阳县| 吴桥县| 留坝县| 礼泉县| 兴仁县| 嵊泗县| 革吉县|