一種存儲系統io處理路徑動態跟蹤實現優化系統性能的方法
2023-11-06 21:25:02
專利名稱:一種存儲系統io處理路徑動態跟蹤實現優化系統性能的方法
技術領域:
本發明涉及計算機存儲系統io路徑跟蹤領域,具體涉及一種適用於網絡存儲
系統10處理跟蹤,通過對10響應時間的分析確認系統瓶頸已達到優化系統性能
的技術。
背景技術:
隨著網絡應用的高速發展,存儲系統往往同時處理大量的IO請求,無論是採
用同步抑或異步的處理方式,由於受到硬體資源以及軟體自身性能的限制,在系
統處理IO請求的過程中會有很長一部分時間處於等待響應階段,大量沒有及時處
理的io請求就會導致系統處理阻塞,進而形成系統性能瓶頸。
對於存儲系統的開發來說,性能測試是一個極其重要的測試階段,通常存儲系 統的性能測試採用大量數據同時讀寫的方式,通過頻繁的向系統執行讀寫操作來 驗證系統處理請求的能力,進而評判系統性能。而在性能測試階段,由於頻繁讀 寫造成的系統瓶頸是非常常見的錯誤,為了儘快解決問題,及時定位系統瓶頸就 顯得尤為重要。
針對這一問題,本發明設計一種系統10路徑跟蹤機制,從10請求傳遞到系統 開始就對其進行監控跟蹤,通過計算每次處理時間來定位10瓶頸問題,從而及時
解決問題,提高系統性能。
發明內容
本發明的目的是提供一種存儲系統10處理路徑動態跟蹤以達到優化系統性能
的方法。
本發明的目的是按以下方式實現的,存儲系統性能的主要衡量因素有10吞吐
量以及系統處理10的響應時間10的響應時間是指用戶從輸入信息到系統完成任
務給出處理時間,10的吞吐量是整個系統在單位時間內完成的任務量,應用服務 器通過網絡對存儲系統發送讀寫請求,對於每次設備中的IO請求進行跟蹤,在存 儲系統處理請求的過程中引入10請求檢査機制,為每個過程模塊設置10處理標 識,計算每個處理結點的響應時間,通過公式計算整個10請求的總處理時間並通
過日誌形式進行記錄,通過日誌中顯示的處理io請求的時間進行正確定位錯誤並
進行改進; .
本發明的有益效果是:縮短某一用戶或服務的響應時間,分配給它更多的資源, 根據應用要求和存儲系統具體運行環境和狀態進行性能優化調整,通過改變各個 用戶和服務程序所分配的系統資源,充分發揮系統能力,用儘量少的資源滿足用戶要求,達到為更多用戶服務的目的。
圖l是閉合排隊網絡模型圖; 圖2是處理時間曲線圖。
具體實施例方式
參照附圖對本發明的存儲系統10處理路徑動態跟蹤以達到優化系統性能的方 法作進一步說明。優化系統性能步驟如下 10請求處理流程
1) 在通常的存儲系統來說,客戶端的IO請求首先由網絡接口卡(NIC)讀入, 然後從主機10總線發送到相應的設備驅動程序。設備驅動程序再把它傳送到存儲 系統,然後,由客戶IO程序處理該請求。
2) 針對這一處理10請求的過程,建立一個閉合排隊網絡模型客戶端對存儲
系統的讀寫請求,通'過網絡傳輸到遠端的存儲系統,存儲系統在在接收到數據包 之後,解析出原數據以及命令,將請求通過設備驅動程序對存儲設備完成具體的 讀寫操作,最後將相應信息在反饋給客戶端。
3) 基於此設計一個閉合排隊網絡模型(如圖1),可以將10處理流程中的主 要環節抽象為一個個服務節點,其中客戶端和存儲系統段可以抽象為CPU服務節 點(C),網卡抽象為網卡服務節點(N) 。 CPU服務節點負責處理本地的應用程式 和數據,網卡服務節點通過網卡向網絡中發送或接收數據,網絡傳輸節點(R)通 過網絡傳輸數據,磁碟10節點負責對磁碟(D)進行讀寫操作。
4) 在存儲系統內部處理10請求的流程
a) a)10請求進入系統環境隊列等待處理當10請求到達存儲系統時,它被放 在系統環境的隊列中。系統環境由存儲系統內核和一些進程組成,這些進程為所 有的系統功能提供資源調度,系統功能包括應用處理、通信及I0調度等。爭用資
源的進程數量和資源本身的性能決定著系統的總體性能,包括io請求的服務。
b) I0請求的檢驗當資源滿足處理10請求的需要時,文件系統將接管這個請
求,並進行創建一個文件或者寫入新的數據等一些列檢驗。
C)執行IO請求命令 一旦這些檢驗完畢,文件系統就決定將這個文件放在目 標設備的哪個地方。在存儲系統中,這個目標設備可以是實際物理設備或者是虛 擬邏輯設備;但在文件系統看來,它們是一回事。雖然文件系統不直接與設備打 交道,但它維護磁碟上所有數據的一個完整的映射,包括虛擬設備。文件系統利 用這個映射發現自由空間以存儲文件。然後,將應用對文件的源請求轉化為磁碟 塊級的I0操作。當應用向文件存放新的數據時,文件系統將新數據轉化為該文件 中特定的一些塊。
d)返回10請求並創建10信息在10請求離開文件系統之前,文件系統建立相應的元數據,用以描述該文件,它包括確定文件的訪問權限、提供用於系統和 存儲管理的信息等。顯示了對文件系統發出的文件請求,文件系統不僅將應用中 的文件請求轉變為塊io操作,也將位置信息和元數據加入這個請求中。 5) IO路徑監控流程與設計
時間函數的設計所謂的IO請求路徑動態跟蹤,主要是通過記錄每個處理節 點完成時間來體現,此函數處理流程如下
a) 客戶端發起IO請求時,為IO請求添加跟蹤標識;
b) 輸出每個節點起始和終止處理信號;
c) 根據處理信號記錄當前系統時間;
d) 獲取當前系統信息,包括CPU,內存,網卡等信息;
e) 記錄每個節點處理10請求的時間、系統當前信息,並將此數據導出到一個 文件。
f) 通過
IO請求跟蹤流程通過對整個架構系統處理10流程的分析,可以清楚了解 每次10請求的處理路徑,由此可以定義跟蹤流程如下
a) 在客戶端運行時間函數,當客戶端提出IO請求時,通過函數添加跟蹤標識,
獲取處理時間Tcl;
b) 客戶端通過內部應用程式發送IO請求,通過客戶端的網卡向外發送請求, 請求發送完畢得到處理吋間Tc2;
c) 10請求通過網絡路由或者交換機進行轉發,轉發處理完成獲取在交換機節
點內部處理時間TSW;
d) 在存儲端接收到客戶端發送的IO請求時通過關聯數組記錄處理IO請求的處 理時間Tsrl;
e) 對原數據進行解析,得出原數據以及請求命令;
f) 根據命令中的請求驅動標識查找請求的設備;
g) 通過跟蹤標識的數組記錄查找設備處理時間Tsr2;
h) 根據命令處理原數據;
i) 通過跟蹤標識的數組記錄處理原數據處理時間Tsr3;
j)I0請求離開後,文件系統建立元數據,用以描述此文件權限等相關信息; k)通過跟蹤標識的關聯數組記錄元數據創建處理時間Tsr4; l)通過時間函數得到一組處理時間,系統資源數據並導入到一個文件; m)通過對記錄的相關數據的分析生成處理時間曲線(如附圖2示例) n)根據曲線,可以清晰査看每次10請求的處理情況,當IO請求在很長一段時
間都沒有結束,則可以認為此10請求遇到阻塞,系統達到瓶頸,進而可以快速定
位問題。
權利要求
1、一種存儲系統IO處理路徑動態跟蹤實現優化系統性能的方法,其特徵在於,應用伺服器通過網絡對存儲系統發送讀寫請求,對於每次設備中的IO請求進行跟蹤,在存儲系統處理請求的過程中引入IO請求檢查機制,為每個過程模塊設置IO處理標識,計算每個處理結點的響應時間,通過公式計算整個IO請求的總處理時間並通過日誌形式進行記錄,通過日誌中顯示的處理IO請求的時間進行正確定位錯誤並進行改進;步驟如下(1)IO請求處理流程1)對於通常的存儲系統,客戶端的IO請求首先由網絡接口卡NIC讀入,然後從主機IO總線發送到相應的設備驅動程序,設備驅動程序再把它傳送到存儲系統,然後,由客戶IO程序處理該請求;2)針對處理IO請求的過程,建立一個閉合排隊網絡模型客戶端對存儲系統的讀寫請求,通過網絡傳輸到遠端的存儲系統,存儲系統在在接收到數據包之後,解析出原數據以及命令,將請求通過設備驅動程序對存儲設備完成具體的讀寫操作,最後將相應信息在反饋給客戶端;3)基於此設計一個閉合排隊網絡模型,將IO處理流程中的主要環節抽象為一個個服務節點,其中客戶端和存儲系統段抽象為CPU服務節點C,網卡抽象為網卡服務節點N,CPU服務節點負責處理本地的應用程式和數據,網卡服務節點通過網卡向網絡中發送或接收數據,網絡傳輸節點R通過網絡傳輸數據,磁碟IO節點負責對磁碟D進行讀寫操作;4)在存儲系統內部處理IO請求的流程;(2)IO請求進入系統環境隊列等待處理a)當IO請求到達存儲系統時,它被放在系統環境的隊列中,系統環境由存儲系統內核和一些進程組成,這些進程為所有的系統功能提供資源調度,系統功能包括應用處理、通信及IO調度,爭用資源的進程數量和資源本身的性能決定著系統的總體性能,包括IO請求的服務;b)IO請求的檢驗當資源滿足處理IO請求的需要時,文件系統將接管這個請求,並進行創建一個文件或者寫入新的數據等一些列檢驗;c)執行IO請求命令一旦這些檢驗完畢,文件系統就決定將這個文件放在目標設備的哪個地方,在存儲系統中,這個目標設備是實際物理設備或者是虛擬邏輯設備;但在文件系統看來,它們是一回事,雖然文件系統不直接與設備打交道,但它維護磁碟上所有數據的一個完整的映射,包括虛擬設備,文件系統利用這個映射發現自由空間以存儲文件,然後,將應用對文件的源請求轉化為磁碟塊級的IO操作,當應用向文件存放新的數據時,文件系統將新數據轉化為該文件中特定的一些塊;d)返回IO請求並創建IO信息在IO請求離開文件系統之前,文件系統建立相應的元數據,用以描述該文件,它包括確定文件的訪問權限、提供用於系統和存儲管理的信息等。顯示了對文件系統發出的文件請求,文件系統不僅將應用中的文件請求轉變為塊IO操作,也將位置信息和元數據加入這個請求中。(3)IO路徑監控流程與設計1)時間函數的設計所謂的IO請求路徑動態跟蹤,主要是通過記錄每個處理節點完成時間來體現,此函數處理流程如下a)客戶端發起IO請求時,為IO請求添加跟蹤標識;b)輸出每個節點起始和終止處理信號;c)根據處理信號記錄當前系統時間;d)獲取當前系統信息,包括CPU,內存,網卡等信息;e)記錄每個節點處理IO請求的時間、系統當前信息,並將此數據導出到一個文件;f)通過;2)IO請求跟蹤流程通過對整個架構系統處理IO流程的分析,清楚了解每次IO請求的處理路徑,由此定義跟蹤流程如下a)在客戶端運行時間函數,當客戶端提出IO請求時,通過函數添加跟蹤標識,獲取處理時間Tc1;b)客戶端通過內部應用程式發送IO請求,通過客戶端的網卡向外發送請求,請求發送完畢得到處理時間Tc2;c)IO請求通過網絡路由或者交換機進行轉發,轉發處理完成獲取在交換機節點內部處理時間Tsw;d)在存儲端接收到客戶端發送的IO請求時通過關聯數組記錄處理IO請求的處理時間Tsr1;e)對原數據進行解析,得出原數據以及請求命令;f)根據命令中的請求驅動標識查找請求的設備;g)通過跟蹤標識的數組記錄查找設備處理時間Tsr2;h)根據命令處理原數據;i)通過跟蹤標識的數組記錄處理原數據處理時間Tsr3;j)IO請求離開後,文件系統建立元數據,用以描述此文件權限等相關信息;k)通過跟蹤標識的關聯數組記錄元數據創建處理時間Tsr4;l)通過時間函數得到一組處理時間,系統資源數據並導入到一個文件;m)通過對記錄的相關數據的分析生成處理時間曲線;n)根據曲線,清晰查看每次IO請求的處理情況,當IO請求在很長一段時間沒有結束,則認為此IO請求遇到阻塞,系統達到瓶頸,進而快速定位問題。
全文摘要
本發明提供一種存儲系統IO處理路徑動態跟蹤實現優化系統性能的方法,應用伺服器通過網絡對存儲系統發送讀寫請求,對於每次設備中的IO請求進行跟蹤,在存儲系統處理請求的過程中引入IO請求檢查機制,為每個過程模塊設置IO處理標識,計算每個處理結點的響應時間,通過公式計算整個IO請求的總處理時間並通過日誌形式進行記錄,通過日誌中顯示的處理IO請求的時間進行正確定位錯誤並進行改進;根據應用要求和存儲系統具體運行環境和狀態進行性能優化調整,通過改變各個用戶和服務程序所分配的系統資源,充分發揮系統能力,用儘量少的資源滿足用戶要求,達到為更多用戶服務的目的。
文檔編號H04L29/08GK101616174SQ20091001711
公開日2009年12月30日 申請日期2009年7月9日 優先權日2009年7月9日
發明者溫硯書 申請人:浪潮電子信息產業股份有限公司