© Copyright International Business Machines Corporation 2002.All rights reserved.
引言
protocol(規劃)一詞被定義為“科學的或醫學的實驗、處理或過程的詳細規劃”。本文提供對基于 WebSphere® Application Server 的應用程序進行性能測試的規劃,其中有關于規劃、建立性能環境、進行實際的測試和測量應用程序的特征的信息。
性能測試是確定應用程序在各種負載情景中的(JVM、連接池等)最佳設置的唯一方式。每個應用程序是不同的且在不同的條件下的行為也不同,這意味著所有應用程序在生產環境中被實現前必須經歷性能測試活動。
在理想的情況下,性能測試環境應在每個細節(從服務器防火墻和后端資源的數量到網絡電纜的規格)上完全模仿生產環境。然而,由于大容量生產環境的大小和規模,這是不實際的。包括最少兩臺或三臺在物理上分離的 WebSphere Application Server 機器的更小的環境是更典型的性能測試的基本配置。
圖 1. 基本的性能環境
如圖 1 所示,分布式空間中的基本的性能環境有兩臺連接到遠程數據庫并由一臺遠程 HTTP 服務器驅動的在物理上分離的 WebSphere Application Server。
如果 HTTP 服務器在應用程序的生產環境中是遠程的,那么最好使性能環境中的 HTTP 服務器也是遠程的。每臺 WebSphere Application Server 在自己的節點上獨立運行。運行與測試無關的其他應用程序將引入針對本地 CPU、內存和磁盤資源的競爭。這不僅會影響測試的結果,而且這些應用程序與環境的資源的交互是難以估量的。
這兩臺 WebSphere Application Server 至少應該有相同的機器和 OS 級別的配置。常見的錯誤包括一臺或另一臺應用程序服務器使用不同的 OS 補丁或修訂包級別或不同的內存配置,這將導致不一致的結果和/或行為。作為題外話,請您一定要確保每臺服務器的 TCP/IP 堆棧設置完全相同,尤其是 NIC 卡的雙工設置。
在理想的情況下,雖然應用程序數據不必駐留在與管理資源庫相同的數據庫服務器上,但是管理資源庫的所有應用程序數據和數據庫將駐留在一臺遠程的機器上。如果啟用了 HTTP 會話持久性,請確保會話表與其他數據庫分離且被標記為 VOLATILE。
這并不是說把完全不同的配置用于性能環境是完全不可接受的。在當今的商業環境中,HTTP 服務器常常駐留在每個本地的 WebSphere Application Server 節點上。然而,其中一臺 WebSphere Application Server 還作為管理資源庫的數據庫從而肩負雙重責任是不太合乎需要的。這些配置特征和其他配置特征違反了“應用程序不應該參與本地資源的競爭”的約束。性能環境中的這些不平衡可能使最終結果不準確,在許多時候確實如此。然而,雖然折衷的性能測試環境肯定不是更好的選擇,但是擁有幾乎任何類型的性能測試環境都要比沒有環境好。
專用的服務器環境
顯然,測試環境應盡可能地與生產環境相似,因為任何差異(任何方面的差異)將引入不確定性。如果您縮小測試環境,那么您必須擴大結果以取得生產環境中的近似數字。類似地,如果 HTTP 服務器在生產中是獨立的,但在測試中被包括在應用程序服務器節點上,那么取得的性能結果也不能準確地反映生產中的結果。配置測試環境是作出選擇和讓步以獲取可能取得的最精確的數據的過程。
文章來源于領測軟件測試網 http://www.k11sc111.com/