如何做系統效能評估

瀏覽數:8533
關鍵字:


  在電腦未普及的年代,若要對龐大的資料進行紀錄、統計、分析,都是使用人工作業方式進行,但在現在科技發達的時代,為了改善長期以來對龐大的資料以人工方式做紀錄、統計、分析,許多人希望透過電腦的處理能力,做紀錄、統計和分析,這樣不僅減少人力資源的浪費,更減少因人工作業而產生資料錯誤的情形,因此開發了資訊系統以提供使用者更完善的服務。

  然而,資訊系統雖然上線,但之後的系統維護更是重要,因為若使用者人數增加時,資料量增加,網路流量也隨著增加,這時系統若有緊急訊息須傳送,是否會因此而造成延遲傳送;或是因為使用者人數增加,系統處理的資料量變多,是否會因此而造成系統反應時間(Response Time)變慢,這些都是重要的議題,基於上述的情況,實有必要針對系統做效能評估(Performance Evaluation)。

  何時做系統效能評估?系統正式上線後,軟體開發流程便進入維護(maintain)階段,藉由網路流量監控軟體觀察一天、或一週中,什麼時間的流量最高,利用這個時段的使用者使用情況,推算出系統最多可承受多少人使用。系統效能評估範圍這麼大,要評估哪些項目呢?舉例來說,使用者人數增加時,我們最直接想到的就是資料量增加,隨著資料量增加而增加的,就是網路流量、儲存在資料庫的成長量及系統的反應時間(Response Time),因此我們可以針對這三項,列出以下的評估項目,並進行系統效能評估,評估方法如下:

1. 網路頻寬(bandwidth)所能承受的人數上限

  使用者人數增加時,網路流量也會隨著增加,其流量若大於網路線的頻寬,系統效能將降低,因此有必要評估網路頻寬所能承受的人數上限。針對目前連接到server端網路線的網路頻寬,與之後使用者人數增加後,且在worst case的情況(即瞬間最多使用者同時使用系統)下,使用系統所產生的網路流量做比較,比較後的結果,若使用者人數增加後產生的流量大於目前的網路頻寬,表示系統效能將降低,造成有些訊息可能會延遲傳送,則必須考慮加大網路頻寬。

為了評估網路頻寬所能承受的人數上限,可使用網路流量監控軟體PRTG,但網路上流量監控的軟體比比皆是,為什麼要使用PRTG這個軟體,其理由如下:

  • PRTG可安裝在任何windows的作業系統上。
  • PRTG不需要安裝在server(即被監控端)上,被監控端只需透過SNMP(Simple Network Management Protocol)便可把流量的資料傳給監控端,對server效能的影響可降到最低。

  如圖1所示,server即為圖中被監控端,server須啟動SNMP,另一台電腦(即為圖中的監控端)監控server的流量,監控端的電腦亦須啟動SNMP,並安裝PRTG這個流量監控軟體。被監控端透過SNMP將流量資料傳送給監控端。

欲評估網路頻寬所能承受的的人數上限,除了監控流量外,還使用網路模擬器NCTUns 5.0來模擬人數增加後的網路流量,選擇NCTUns 5.0網路模擬器之理由如下:

  • NCTUns 5.0可以直接在圖形化的介面上拉出要模擬的節點及link,再設定各個節點要在什麼時候傳送封包等參數,整個模擬環境即可建立。
  • NCTUns 5.0可以跑出與真實環境相近的網路流量。


  NCTUns5.0安裝在fedora core 9的作業系統上。其模擬結果如圖2所示,圖2中長方形框內是時間軸,時間軸上的紅線表示有資料傳輸,沒有線的區段表示沒有傳送任何資料。

2. 資料庫的成長量

  針對目前DB server端硬碟的容量,與之後使用者人數增加後,在worst case的情況(即假設每位使用者都有新增資料)下新增的資料量大小做比較,檢查儲存在資料庫的資料量是否超過DB server端硬碟的容量,有必要將對資料庫的成長量做評估,以決定硬碟容量的需求。儲存在資料庫的眾多資料中,有些資料之儲存時間可多達數個月,假使資料庫內的一些不重要或過期的資料不定期刪除的話,幾年後,增加的資料表容量是一個很可觀的數字,所以一些因為時間久遠,且沒有參考價值的資料,就必須定期去刪除,例如:半年前的血壓資料,就沒有參考價值,可於儲存半年後,儲存至光碟備分,再刪除;若於當天使用完後,就不會在使用到的資料,即可於隔天凌晨在進行刪除,如醫院的掛號預約系統。

3. 系統的反應時間

  系統中,處理資料的時間會影響系統的反應時間,而處理資料的時間與儲存資料的資料結構(Data Structure)也有相當的關係,如:插入排序(Insertion Sort),在平均情況(Average Case)下,其時間複雜度(Time Complexity)是n,表示處理時間與資料集合大小呈線性關係;在最差情況(Worst Case)下,其時間複雜度是n2,表示處理時間與資料集合的大小成指數關係。所以當使用者人數增加後,在網路頻寬足夠的情況下,系統的反應時間(必須在Worst Case的情況下)若超過可接受的範圍(可接受的範圍依使用者而定),則必須考慮是否更改儲存資料的資料結構。

  系統的使用者人數增加後,其資料量也相對的增加,此時若有緊急訊息須傳送,是否會因此而造成延遲傳送;或是因此而造成系統反應時間(Response Time)變慢,基於這些情況,實有必要對系統做系統效能評估,已了解系統容量是否足夠,在做效能評估前,須先列出一些評估項目,將經過評估後,將獲得的評估結果來判斷系統容量是否充足,已預做系統擴充準備,以上述評估項目為例,若網路頻寬不足,則考慮是否增加網路頻寬;透過評估資料庫的成長量,可知道資料庫內的資料表是否定期刪除一些不重要的資料,假使有定期刪除,可透過評估資料庫成長量的結果,判斷是否預做硬碟擴充的準備;在網路頻寬足夠的情況下,若系統的反應時間過長,則考慮是否更改儲存資料的資料結構。

更多資訊請參考...
{{item.title}}
生產力中心提供的活動資訊
{{item.title}}
相關出版品...