系統架構設計筆記(24)—— 系統性能評估

性能評估是對一個系統進行各項檢測,並形成一份直觀的文檔,因此性能評估是通過各項測試來完成的。評估的一個目的是爲性能的優化提供參考,而性能優化涉及的面很廣,也很複雜,而且永無止境。對於不同的應用程序,優化的方法會有一些區別。

1 基準測試程序

把應用程序中用得最多 、 最頻繁的那部分核心程序作爲評價計算機性能的標準程序。稱爲基準測試程序( benchmark )。

(1)整數測試程序

Dhrystone。 用 C 語言編寫, 100 條語句。包括:各種賦值語句,各種數據類型和數據區,各種控制語句,過程調用和參數傳送,整數運算和邏輯操作 。

VAX-11/780z 的測試結果爲每秒 1757 個 Dhrystones ,即:1VAXMIPS= 1757 Dhrystones /s

(2)浮點測試程序

Linpack。用 FORTRAN 語言編寫,主要是浮點加法和浮點乘法操作。用 MFPOPS(Million Floating Point Operations Per Second)表示 GFLOPS、 TFLOPS。

一個GFLOPS(giga FLOPS)等於每秒拾億(=10^9)次的浮點運算, 一個TFLOPS(tera FLOPS)等於每秒萬億(=10^12)次的浮點運算。

(3)Whetstone 基準測試程序

用 FORTRAN 語言編寫的綜合性測試程序,主要包括:浮點運算 、 整數算術運算 、 功能調用 、 數組變址 、 條件轉移 、 超越函數。測試結果用 Kwips 表示。

(4)SPEC 基準測試程序

SPEC 基準測試程序( System Performance Evaluation Cooperative ,系統性能評估聯盟)由 30 個左右世界知名計算機大廠商所支持的非盈利的合作組織,包括 IBM、AT&T、BULL、Compaq、CDC、DG、DEC、Fujitsu、HP、Intel、MIPS、Motolola、SGI、SUN、Unisys 等; SPEC 能夠全面反映機器的性能,具有很高的參考價值。 SPEC 以 AX-11/780 的測試結果作爲基數,當前主要的基準測試程序有 SPEC int_base_rate2000、 SPEC fp_base_rate2000和 SPEC JBB2000等。還有基於某種數據庫運行環境下的測試,也是可以參考的數值。在採用通用基準測試程序時,要注意真實的業務流程和使用環境與通用測試基準的業務流程和使用環境的異同,這樣,基準測試值纔有參考價值。

(5)TPC 基準程序

TPC ( Transaction Processing Council ,事務處理委員會)成立於 1988 年,已有 40 多個成員,用於評測計算機的事務處理 、 數據庫處理 、 企業管理與決策支持等方面的性能 。1989 年以來相繼發表的 TPC 基準測試程序包括 TPC -A 、 TPC -B 、 TPC -C 、 TPC -D 、 TPC -H和 TPC -W等。其中 TPC -A用於在線聯機事務處理下更新密集的數據庫環境下的性能測試, TPC-B 用於數據庫系統及運行它的操作系統的核心性能測試, TPC-C 則用於在線聯機事務處理測試, TPC-D 用於決策支持系統測試, TPC-H 是基於 TPC-D 基礎上決策支持基準測試,還有 TPC-W 是用於電子商務應用軟件測試。

TPC -C 是衡量 OLTP 系統的工業標準。它測試廣泛的數據庫功能,包括查詢 、 更新和排隊袖珍型批處理( mini-batch )事務。這一規範在關鍵領域十分嚴格,如數據庫透明性和事務處理隔離性。許多 IT 專家把 TPC -C 作爲 “ 真實世界” OLTP 系統性能的一個很好的指示器。獨立審覈員認證基準測試( benchmark )的結果, TPC 還有全套的公開報告。

On-Line Transaction Processing聯機事務處理過程(OLTP),也稱爲面向交易的處理過程,其基本特徵是前臺接收的用戶數據可以立即傳送到計算中心進行處理,並在很短的時間內給出處理結果,是對用戶操作快速響應的方式之一。

(6)Linpack 測試

Linpack 是國際上最流行的用於測試高性能計算機系統浮點性能的測試。通過對高性能計算機採用高斯消元法求解一元 N 次稠密線性代數方程組的測試,評價高性能計算機的浮點性能。

Linpack 測試包括三類, Linpack 100 、 Linpack 1000和HPL。

  • Linpack 100 求解規模爲 100 階的稠密線性代數方程組,它只允許採用編譯優化選項進行優化,不得更改代碼,甚至代碼中的註釋也不得修改。
  • Linpack 1000要求求解 1000階的線性代數方程組,達到指定的精度要求,可以在不改變計算量的前提下做算法和代碼上的優化 。
  • HPL 即High Performance Linpack ,也叫高度並行計算基準測試,它對數組大小 N 沒有限制,求解問題的規模可以改變,除基本算法(計算量)不可改變外,可以採用其他任何優化方法。前兩種測試運行規模較小,已不太適合現代計算機的發展 。HPL 是針對現代並行計算機提出的測試方式。用戶在不修改任意測試程序的基礎上,可以調節問題規模的大小(矩陣大小) 、 使用 CPU 數目 、 使用各種優化方法等來執行該測試程序,以獲取最佳的性能 。HPL 採用高斯消元法求解線性方程組。HPL 測試結果是 TOP500排名的重要依據。

2 Web 服務器的性能評估

在 Web 服務器的測試中,能夠反映其性能的主要包括最大併發連接數 、 響應延遲和吞吐量(每秒處理的請求數)幾個參數。

現在常見的 Web 服務器性能評測方法有基準性能測試 、 壓力測試和可靠性測試。

  1. 基準測試即採用前面所提到的各種基準程序對其進行測試;
  2. 壓力測試則是採用一些測試工具(這些測試工具的主要特徵就是能夠模擬足夠數量的併發操作)來測試 Web 服務器的一些性能指標,如最大併發連接數,間接測試響應時間,以及每秒鐘可以處理的請求數目。通過這種壓力測試,不但可以考察 Web 服務器的各項性能指標,而且可以找到服務器的瓶頸所在,然後通過參數調整,讓服務器運行得更高效。

IxWeb 是美國 IXIA 公司的一個有關 Web 測試的解決方案,它是一個高性能業務負載生成與分析應用系統,可在 TCP 和應用層模擬現實世界的業務負載方案,能夠對設備進行強度測試 、 檢驗轉發策略和驗證4~7層的性能。IxWeb 通過模擬用戶(客戶端)來測試 Web 服務器。每一個 IXIA 測試儀端口都有獨立的 CPU 和內存,運行 Linux 操作系統,具備完整的 TCP /IP協議棧,每個端口可以模擬大量的 Web 客戶,每個客戶能夠產生大量的併發連接。它還可以通過同時模擬客戶端和服務器端,對內容交換機等設備進行測試。

IxWeb 能夠配置會話,以模擬使用路由 、 交換和 NAT 環境中的用戶。爲了進一步測試實際應用方案,IxWeb 能夠修改 TCP 參數,並提供對用戶通過諸如撥號調制解調器和 DSL 等多種接入機制聯網進行仿真的功能。通過配置 “ 思考時間 ” ( Think Times ,用戶操作之間的時間間隔)來對用戶的行爲進行仿真,還可進一步增加測試的真實性。

IxWeb 中 HTTP 1.0/1.1 支持的方法包括:GET 、 POST 、 PUT 、 HEAD 、 DELETE,可以修改 HTTP 客戶端與服務器包頭規格。IxWeb 對 SSL 的支持使用戶能夠模擬訪問安全網站的大量 SSL 客戶端會話。IxWeb 具有生成真正的 SSL 握手和 HTTPS 功能。

IxWeb 能夠仿真成千上萬個下載大文件的 FTP 用戶及提供大量所需數據的相應設備。IxWeb 提供了靈活的用戶配置和全面的統計數字,以測定同步 FTP 用戶的最大數量,以及內容交換機 、 負載均衡器 、 服務器與防火牆的吞吐量。

IxWeb 提供了廣泛翔實的實時統計數字及記錄日誌,並可將其導出到標準文件格式,以便定製報告生成。測試一旦完成,即可以用包括 HTML 在內的多種文件格式生成內容豐富的報告。

3 系統監視

系統監視的目標是爲了評估系統性能。要監視系統性能,需要收集某個時間段內的3種不同類型的性能數據:

(1)常規性能數據

該信息可幫助識別短期趨勢(如內存泄漏)。經過一兩個月的數據收集後,可以求出結果的平均值並用更緊湊的格式保存這些結果。這種存檔數據可幫助人們在業務增長時作出容量規劃,並有助於在日後評估上述規劃的效果。

(2)比較基準的性能數據

該信息可幫助人們發現緩慢 、 歷經長時間才發生的變化。通過將系統的當前狀態與歷史記錄數據相比較,可以排除系統問題並調整系統。由於該信息只是定期收集的,所以不必對其進行壓縮存儲。

(3)服務水平報告數據

該信息可幫助人們確保系統能滿足一定的服務或性能水平,也可能會將該信息提供給並不是性能分析人員的決策者。收集和維護該數據的頻率取決於特定的業務需要。


進行系統監視通常有3種方式。
一是通過系統本身提供的命令,如 UNIX/Liunx 中的 w 、 ps 、 last , Windows 中的 netstat 等;
二是通過系統記錄文件查閱系統在特定時間內的運行狀態;
三是集成命令 、 文件記錄和可視化技術,提供直觀的界面,操作人員只需要進行一些可視化的設置,而不需要記憶繁雜的命令行參數,即可完成監視操作,如 Windows 的 Perfmon 應用程序。

目前,已經有些廠商提供專業化的監視平臺,將上面3種方式集成到一個統一的監控平臺,進行統一監控,並提供各類分析數據和分析報表,幫助用戶進行性能的評估和診斷。如 IBM 公司提供的Tivoli 、 HP公司提供的 Sitescope 等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章