軟件架構設計之一:系統性能評價

一、本章要點

1)性能計算(響應時間、吞吐量、TAT)

2)性能設計(系統調整、Amdahl解決方案、響應特性、負載均衡)。

3)性能指標(SPEC-Int、SPEC-Fp、TPC、Gibsonmix、響應時間)。

4)性能評估。


二、系統性能計算

1)計算機系統性能指標以系統響應時間、作業吞吐量爲代表。

2)故障響應時間是指從出現故障到該故障得到確認修復前的這段時間。

3)性能指標計算的主要方法有定義法、公式法、程序檢測法和儀器檢測法。


1、響應時間

1)系統響應時間是指用戶發出完整請求道系統完成任務給出響應的時間間隔。

2)系統的響應時間對每個用戶來說都是不一樣的,以下因素會影響系統的平均響應時間:

  (1)和業務相關,處理不同的業務會有不同的響應時間。

  (2)和業務組合有關,業務之間可能存在依賴關係或其他,也會互相影響。

  (3)和用戶數量有關,大併發量會嚴重影響響應時間。

3)有多種方法來測試響應時間,常用的有兩種,首字節響應時間和末字節響應時間。

4)米勒給出的三個經典的有關響應時間的建議:

  (1)0.1s:用戶感覺不到任何延遲。

  (2)1s:用戶願意接受的系統立即響應的時間極限。

  (3)10s:用戶保持注意力執行本次任務的極限。


2、吞吐量

1)吞吐量就是在給定的時間內,系統的吞入能力與吐出能力是多少。

2)計算機的吞吐量主要取決於內存的存儲週期。

3)從系統的角度來看,吞吐量是指單位時間內系統所能完成的任務數量。

4)現實的請求與服務,一般都服從M/M/1排隊模型。

5)性能計算中的兩個公式:

平均利用率p=平均到達事務數/平均處理事務數,平均響應時間=平均處理時間/(1-p)



三、系統性能設計

1、系統調整

1)爲了優化系統的性能,有時需要對系統進行調整,這種調整也稱爲性能調整。

2)性能調整由查找和消除瓶頸組成。

3)開始性能調整之前,必須做一些準備工作,爲正在進行的性能調整活動建立框架:

  (1)識別約束。約束(如可維護性)在尋求更高的性能方面是不可改變的因素,因此,在尋求提高性能的方法時, 必須集中在不受約束的因素上。

  (2)指定負載。確定系統的客戶端需要哪些服務,以及對這些服務的需求程度。最常用的度量標準是客戶端數目、客戶端思考時間以及負載分佈狀況。

  (3)設置性能目標。性能目標必須明確,包括識別用於調整的度量標準及其對應的基準值。總的系統吞吐量和響應時間是用於測量性能的兩個常用度量標準。


4)建立了性能調整的邊界、約束和目標後,就可以開始進入調整循環了。

  (1)收集。使用爲系統特定部分選擇的性能計數器集合來收集數據。建立系統行爲的基準集。

  (2)分析。對數據進行分析以確定瓶頸。

  (3)配置。確定系統那部分最適合進行配置更改,然後實現此更改。最重要規則:一次僅實現一個配置更改。

  (4)測試。確定更改對調整的系統所產生的影響。達到預期則退出,否則調整循環。


2、阿姆達爾解決方案

1)阿姆達爾(Amdahl)定律:系統中對某部件採用某種更快的執行方式,所獲得的系統性能改變程度,取決於這種

方式被使用的頻率,或所佔總執行時間的比例。

2)加速比=不使用增強部件時完成整個任務的時間/使用增強部件時完成整個任務的時間

3)加速比取決於兩個因素:

  (1)在原有的計算機上,能被改進並增強的部分在總執行時間中所佔的比例。

  (2)通過增強的執行方式所取得的改進,這個值是在原來條件下程序的執行時間與使用增強功能後程序的執行時間之比。


4)新的執行時間=原來的執行時間*((1-增強比例)+增強比例/增強加速比)

5)總加速比=原來的執行時間/新的執行時間=1/((1-增強比例)+增強比例/增強加速比)


3、負載均衡

1)負載均衡是由多臺服務器以對稱的方式組成一個服務器集合,每臺服務器都具有等價的地位,都可以單獨對外提供服務而無需其他服務器的輔助。

2)比較常見的負載均衡技術如下:

  (1)基於DNS的負載均衡。簡單有效,但不能區分服務器差異,也不能反映服務器的當前運行狀態。

  (2)代理服務器負載均衡。

  (3)地址轉換網關負載均衡。

  (4)協議內部支持負載均衡。如HTTP協議中的重定向能力。

  (5)NAT負載均衡。

  (6)反向代理負載均衡。

  (7)混合型負載均衡。


四、系統性能評估

1)常用方法有:時鐘頻率法、指令執行速度法、等效指令速度法、數據處理速率法、綜合理論性能法和基準程序法。

2)時鐘週期時鐘頻率的倒數,一個時鐘週期內,CPU僅完成一個最基本的動作。

3)完成一個基本操作所需要的時間稱爲機器週期,一般由若干時鐘週期組成。

4)指令週期是執行一條指令所需要的時間,一般由若干個機器週期組成。

5)MIPS(每秒百萬指令數)、MFLOPS(每秒百萬浮點操作次數)

6)等效指令速度法也稱爲吉普森混合法(Gibsonmix)或混合比例計算法,通過各類指令在程序中所佔比例進行計算得到的。

7)數據處理速率(PDR)=L/R,L=0.85G+0.15H+0.4J+0.15K,R=0.85M+0.09N+0.06P。G是每條定點指令的位數,M是平均定點加法時間,H是每條浮點指令的位數,N是平均浮點加法時間,J是定點操作數的位數,P是平均浮點乘法時間,K是浮點操作數的位數。G>20,H>30

8)PDR主要對CPU和內存儲器的速度進行度量,不適合衡量機器整體速度。

9)綜合理論性能CTP

10)基準程序法:

  (1)Khrystone基準程序。

  (2)Linpack基準程序。

  (3)Whetstone基準程序。

  (4)SPEC基準程序。兩種測試方法:一種是測試計算機完成單個任務的速度測試;一種是測試計算機在一定時間內能完成多少任務的吞吐率測試。

  (5)TPC基準程序。

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