套用性能工程

套用性能工程是一套特定的方法論,旨在解決套用系統性能受到了日益增加的分散式移動終端、雲和地域間IT環境所帶來的風險和挑戰。 它包括角色、技能、活動、實踐、工具在套用生命周期中每個階段的交付,確保應用程式將設計、實現和運營可以滿足性能要求。 套用性能工程指出, IT企業或組織需要首先設計應用程式的性能要求,並在整個套用生命周期中進行測試、測量和調整性能。

基本介紹

  • 中文名:套用性能工程
  • 外文名:Application of performance engineering
  • 性質:方法論
  • 類型:現代詞
套用性能工程與套用性能管理,套用性能工程方法論,探測,網路仿真與測試,分析與最佳化,套用性能工程的套用,

套用性能工程與套用性能管理

套用性能工程不同於套用性能管理,雖然兩者都致力於確保高質量的最終用戶體驗。但套用性能管理更趨向於通過監測和報告實際最終用戶的體驗情況。而套用性能工程旨在通過利用預生產活動中的技術和最佳實踐,在套用部署發布或提交給最終用戶之前,根據性能預期進行驗證和最佳化,主動避免代價高昂的性能事故。
在過去的十年中,企業和組織越來越重視確保套用的成功交付,其中套用性能管理與網路和套用最佳化也曾引起過廣泛關注,不過由於它們在應用程式開發或部署後才可以使用,所以這兩種方法通常是被動型的手段。隨著套用基礎架構變得更加複雜,企業和組織認為業務流程的支持和保證具有更重要的意義,隨之而然的是基礎設施建設和IT管理的重點必然轉向主動型性能的測試和驗證。套用性能工程就是企業和組織在實施過程中形成的技術、技能和最佳實踐。
不過套用性能工程並能替代套用性能管理,兩者都是必須存在並相輔相成的。套用性能工程和套用性能管理都應將套用系統的性能,包括從設計、部署再到管理,貫穿到整個套用生命周期中。套用性能工程和套用性能管理為性能信息帶來持續性的反饋環: 套用性能工程以真實世界的應用程式行為創建性能基準和服務水平;套用性能管理利用套用性能工程測試結果來確定哪些監控警報閾值被觸發。

套用性能工程方法論

根據美國國家標準與技術研究所,在應用程式部署後的問題查找和修復耗費了80%的總體擁有成本。但其中有三成的成本是可以通過進行更全面和更有效的軟體測試手段來避免掉的。性能測試的價值及投資回報不單要用於避免成本消耗,也需要考慮其產生的商業利益。性能測試可以改善客戶滿意度、增加銷售額、提高員工工作效率,並有助於避免後期出現部署發布成本等問題。
當套用性能工程成本效益最大化的情況下,一個有效的策略能夠在套用生命周期的前期部署階段,對套用進行快速修復和性能最佳化。雖然企業或組織在套用性能工程中的做法各不相同的,但其核心都是對真實世界的情況進行模擬和重建,尤其當套用被實際使用或跨網路進行數據訪問時,在這些情景下,若最終用戶通過移動設備訪問會出現帶來更明顯地差別和影響。在移動接入後,移動網際網路的底層基礎設施造成的延遲損傷,不僅影響移動用戶的體驗,也會影響到所有網際網路用戶。因此網路仿真是套用性能工程的重要組成部分,因為它能夠對網路環境進行可靠地仿真,建立一個準確並能預測性能狀況的測試環境。
可以將套用性能工程方法論中的最佳實踐和技術分為三個部分:探測、網路仿真測試、分析與最佳化。

探測

套用性能工程探測層需要探測到實際生產環境下最終用戶體驗的技術、服務和方法,包括探測用戶地理位置、用戶終端設備和套用系統的依賴項,如第三方內容交付網路和服務、業務流程、服務水平目標與實際網路情況的探測識別。
了解這些實際的使用條件是預測用戶體驗並建立和驗證性能水平基準的關鍵。隨著移動網際網路產業的興起,產生了新的網路類型,如2.5G3G4GLTE基站距離產生的延時也需要探測並在套用性能中評估,這些都對套用性能工程中的探測方法的帶來新的變化因素。探測層提供了不同地點的用戶體驗條件。從網路方面探測網路性能指標,如可用頻寬延遲抖動數據包丟失。而這些度量指標可以有效地在套用性能工程下階段的網路仿真和測試中使用。

網路仿真與測試

傳統的套用系統測試的失敗,主要歸結於缺乏能夠再現影響分散式用戶的真實世界的環境條件。而探測層能夠在測試環境中精確有效地模擬真實套用系統使用場景。通常設備、服務和負載都可以在測試環境中重建,而這些要素之間的網路連線也必須能夠關聯到真實世界網路中。
網路仿真就是用來模擬創建這些真實世界網路連線的技術和過程。因為在沒有真實世界的條件下,無法得知網路上的最終用戶體驗以及與外部服務進行通信造成的影響,導致產生不可靠的測試結果。
隨著移動設備全球化大規模製造和套用以及雲計算的興起,網路的作用比以往更受“最後一公里”條件的性能影響,主要由於移動本身就具有動態特性。因此在任何移動或雲部署情況下尤其需要結合網路仿真。
套用性能工程方法論指出,當測試環境由仿真成真實世界的網路環境後,需要性能測試貫穿到整個套用生命周期測試過程中,包括單用戶、負載可擴展性容量功能測試。通過性能測試為確保遵守業績目標或服務級別目標提供了明確的質量保證測試。需要注意的是,測試並不是一次性活動,因為需求和生產網路的性能會隨時間變化,尤其在行動網路中,測試條件可以根據需求和網路特徵進行修改和重現。

分析與最佳化

通過探測和網路仿真建立出的測試條件,可以使測試分析出的數據更準確地反映和預測出套用系統在真實世界中的表現。在套用性能工程框架中,性能分析可以使組織預測和驗證性能水平、確定是否符合服務級別目標SLO或服務級別協定SLA、找出性能瓶頸的根本原因並進行診斷、修復和最佳化。
功能和非功能性的績效目標測試完成後,就可以對套用系統的處理能力進行測量和關鍵指標分析。這些信息需要按照地理位置分類,使測試人員和性能工程師可以根據每種用戶群和網路環境條件,找出表現不佳的業務交易和性能問題根本原因。此外還需要進一步的細分測試結果,例如在分析移動套用測試場景中的每個設備類型的測試結果可能需要了解最終用戶體驗的設備或移動作業系統差異。
隔離和修復性能問題需要在套用性能工程增加驗證步驟。修復的結果必須在精確相同的條件下重新測試和驗證。而網路仿真技術能夠使測試環境仿真出相同的網路特性,所以測試結果才能可靠地顯示出性能差異或是否出現新的問題。
除了性能修復,也可以在性能問題並不明顯時進行性能最佳化來提高套用性能。通過研究開發和部署最佳實踐,包括使用第三方的產品和服務,可以實現性能進一步的提高。例如,網路加速器和套用交付控制器可提供潛在的性能優勢。通過評估這些類型的解決方案,並準確地在相同條件下測試這些組件對套用性能的影響,確定可以對哪些產品提供最大的性能收益,產生的代價是什麼。通過分析性能增益來保證投入達到最佳分配。

套用性能工程的套用

越來越多的企業正在採用積極主動的性能保證措施,建立卓越性能中心,從而使性能成為套用的關鍵成功因素。在套用發布前,不僅需要通過常用的負載壓力測試手段測試套用系統的功能和容量,隨著性能要求不斷增加,也需要進行測試性能和網路延遲對套用系統回響時間的影響。套用性能工程方法論使企業把套用性能當成標準需求,並對性能測試和最終用戶體驗需求在企業範圍內建立政策規範。

相關詞條

熱門詞條

聯絡我們