評價計算機系統(tǒng)處理能力的指標?
衡量一個軟件系統(tǒng)性能的常見指標有:
1.響應(yīng)時間(Response time)
響應(yīng)時間就是用戶感受軟件系統(tǒng)為其服務(wù)所耗費的時間,對于網(wǎng)站系統(tǒng)來說,響應(yīng)時間就是從點擊了一個頁面計時開始,到這個頁面完全在瀏覽器里展現(xiàn)計時結(jié)束的這一段時間間隔,看起來很簡單,但其實在這段響應(yīng)時間內(nèi),軟件系統(tǒng)在幕后經(jīng)過了一系列的處理工作,貫穿了整個系統(tǒng)節(jié)點。根據(jù)“管轄區(qū)域”不同,響應(yīng)時間可以細分為:
(1)服務(wù)器端響應(yīng)時間,這個時間指的是服務(wù)器完成交易請求執(zhí)行的時間,不包括客戶端到服務(wù)器端的反應(yīng)(請求和耗費在網(wǎng)絡(luò)上的通信時間),這個服務(wù)器端響應(yīng)時間可以度量服務(wù)器的處理能力。
(2)網(wǎng)絡(luò)響應(yīng)時間,這是網(wǎng)絡(luò)硬件傳輸交易請求和交易結(jié)果所耗費的時間。
(3)客戶端響應(yīng)時間,這是客戶端在構(gòu)建請求和展現(xiàn)交易結(jié)果時所耗費的時間,對于普通的瘦客戶端Web應(yīng)用來說,這個時間很短,通常可以忽略不計;但是對于胖客戶端Web應(yīng)用來說,比如java applet、AJAX,由于客戶端內(nèi)嵌了大量的邏輯處理,耗費的時間有可能很長,從而成為系統(tǒng)的瓶頸,這是要注意的一個地方。
那么客戶感受的響應(yīng)時間其實是等于客戶端響應(yīng)時間+服務(wù)器端響應(yīng)時間+網(wǎng)絡(luò)響應(yīng)時間。細分的目的是為了方便定位性能瓶頸出現(xiàn)在哪個節(jié)點上(何為性能瓶頸,下一節(jié)中介紹)。
2.吞吐量(Throughput)
平均利用率=平均到達事務(wù)數(shù)/平均處理事務(wù)數(shù)
平均響應(yīng)時間=平均處理時間/(1-平均利用率)
吞吐量是我們常見的一個軟件性能指標,對于軟件系統(tǒng)來說,“吞”進去的是請求,“吐”出來的是結(jié)果,而吞吐量反映的就是軟件系統(tǒng)的“飯量”,也就是系統(tǒng)的處理能力,具體說來,就是指軟件系統(tǒng)在每單位時間內(nèi)能處理多少個事務(wù)/請求/單位數(shù)據(jù)等。但它的定義比較靈活,在不同的場景下有不同的詮釋,比如數(shù)據(jù)庫的吞吐量指的是單位時間內(nèi),不同SQL語句的執(zhí)行數(shù)量;而網(wǎng)絡(luò)的吞吐量指的是單位時間內(nèi)在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)流量。吞吐量的大小由負載(如用戶的數(shù)量)或行為方式來決定。舉個例子,下載文件比瀏覽網(wǎng)頁需要更高的網(wǎng)絡(luò)吞吐量。
3.資源使用率(Resource utilization)
常見的資源有:CPU占用率、內(nèi)存使用率、磁盤I/O、網(wǎng)絡(luò)I/O。
資源使用率(Resource utilization) 常見的資源有:CPU占用率、內(nèi)存使用率、磁盤I/O、網(wǎng)絡(luò)I/O。
4.點擊數(shù)HPS(Hits per second)
點擊數(shù)是衡量Web Server處理能力的一個很有用的指標。需要明確的是:點擊數(shù)不是我們通常理解的用戶鼠標點擊次數(shù),而是按照客戶端向Web Server發(fā)起了多少次http請求計算的,一次鼠標可能觸發(fā)多個http請求,這需要結(jié)合具體的Web系統(tǒng)實現(xiàn)來計算。
5. TPS - TPS:Transaction per second,每秒鐘系統(tǒng)能夠處理的交易或者事務(wù)的數(shù)量。它是衡量系統(tǒng)處理能力的重要指標。
6.并發(fā)用戶數(shù)(Concurrent users)
并發(fā)用戶數(shù)用來度量服務(wù)器并發(fā)容量和同步協(xié)調(diào)能力。在客戶端指一批用戶同時執(zhí)行一個操作。并發(fā)數(shù)反映了軟件系統(tǒng)的并發(fā)處理能力,和吞吐量不同的是,它大多是占用套接字、句柄等操作系統(tǒng)資源。
當系統(tǒng)性能降至量基本的水平時,性能調(diào)整由查找和消除瓶頸組成。
7.性能調(diào)整主要表現(xiàn)在四方面:識別約束、指定負載、設(shè)置性能目標和測試。通過反復(fù)迭代。
8.系統(tǒng)性能評估
1、時鐘頻率法:
2、指令執(zhí)行速度法
3、等效指令速度法
4、數(shù)據(jù)處理速率法
5、綜合理論性能法
6、基準程序法
9.負載均衡
負載均衡是由多臺服務(wù)器以對稱的方式組成一個服務(wù)器集合,每臺服務(wù)器都具有等價的地位,都可以單獨對外提供服務(wù)而無須其他服務(wù)器的輔助。
目前比較常用的負載均衡技術(shù)有以下幾種:
1、基于DNS的負載均衡:在DNS中為多個地址配置同一個名字,因而查詢這個名字的客戶端將得到其中一個地址
2、代理服務(wù)器負載均衡:使用代理服務(wù)器將請求均勻轉(zhuǎn)發(fā)給多臺服務(wù)器
3、地址轉(zhuǎn)換網(wǎng)關(guān)負載均衡:將一個外部IP地址映射為多個內(nèi)部IP地址,對每次TCP連接請求動態(tài)使用其中一個內(nèi)部地址
4、協(xié)議內(nèi)部支持負載均衡
5、NAT人,負載均衡:NAT是將一個IP地址轉(zhuǎn)換為另一個IP地址。
6、反向代理負載均衡
7、混合型負載均衡
10.阿姆達爾解決方案
阿姆達爾定律:系統(tǒng)中對某部件采用某種更快執(zhí)行方式,所獲得的系統(tǒng)性能的改變程度,取決于這種方式被使用的頻率,或所占總執(zhí)行時間的比例。
加速比=不使用增強部件時完成整個任務(wù)的時間/使用增強部件時完成整個任務(wù)的時間
新執(zhí)行時間=原來的執(zhí)行時間*[(1-增強比例)+增強比例/增強加速比]
總加速比=原來的執(zhí)行時間/新的執(zhí)行時間=1/[(1-增強比例)+增強比例/增強加速比]
總結(jié):度量軟件系統(tǒng)的性能指標還有系統(tǒng)恢復(fù)時間等,其實凡是用戶有關(guān)資源和時間的要求都可以被視作性能指標,都可以作為軟件系統(tǒng)的度量,而性能測試就是為了驗證這些性能指標是否被滿足。