本技術涉及存儲系統領域,尤其涉及一種硬盤性能測試方法、系統和裝置。
背景技術:
1、在分布式存儲系統中,緩存硬盤為用戶提供在分布式存儲網關上讀寫數據的緩存空間。這種緩存機制能夠顯著降低用戶訪問文件共享數據的時延,從而提高系統的響應速度和整體性能。因此,在部署分布式存儲系統之前,對緩存硬盤的各項性能指標進行快速而準確的測試顯得尤為重要。
2、然而,不同類型的緩存硬盤具有不同的特性。一方面,部分固態硬盤(solid?statedrive,ssd)配備了單階存儲單元(single-level?cell,slc)緩存,當寫入的數據量較小時,這些數據主要被存儲在slc緩存中,此時測試得到的是緩內性能;而當寫入的數據量較大,以至于寫滿了slc緩存時,數據被存儲在slc緩存之外的其他區域,此時測試得到的是緩外性能。另一方面,部分固態硬盤和機械硬盤(hard?disk?drive,hdd)沒有配備slc緩存,測試得到的相當于slc緩存寫滿后的緩外性能。
3、對于分布式存儲系統而言,無論是緩內性能還是緩外性能,都是緩存硬盤性能的重要指標。因此,如何通過一種通用的方法,覆蓋不同類型的緩存硬盤,并快速準確地測試出它們的各項性能指標,是本技術亟需解決的問題。
技術實現思路
1、本技術提供一種硬盤性能測試方法、系統和裝置,用以解決如何通過一種通用的方法,覆蓋不同類型的緩存硬盤,并快速準確地測試出它們的各項性能指標的問題。
2、本技術的第一方面提供一種硬盤性能測試方法,該方法應用于分布式存儲系統的硬盤性能測試裝置,分布式存儲系統還包括多個緩存硬盤,目標硬盤是多個緩存硬盤中的任意一個;對于目標硬盤,該方法包括:
3、對目標硬盤進行首次性能測試,得到第一測試數據;其中,首次性能測試寫入的數據量,小于目標硬盤的預測緩內容量;
4、獲取目標硬盤的持續寫入時間;
5、對目標硬盤交替執行連續寫入操作和隨機寫入操作,并記錄瞬時寫入速度的日志數據,直到日志數據指示瞬時寫入速度滿足預設速度要求,或者,交替寫入操作的持續時間達到持續寫入時間,則確定交替寫入操作寫入的數據量,大于預測緩內容量;
6、對目標硬盤進行二次性能測試,得到第二測試數據;
7、根據第一測試數據、第二測試數據和日志數據,得到目標硬盤的多個性能指標。
8、在一種可能的設計中,獲取目標硬盤的持續寫入時間,包括:
9、獲取目標硬盤的硬盤容量和硬盤類型;
10、根據硬盤容量和硬盤類型,得到預期寫入時間;其中,預期寫入時間是指預期寫滿硬盤容量的時間;
11、將預期寫入時間與預設的測試上限時間中,時間短的確定為持續寫入時間。
12、在一種可能的設計中,硬盤類型為第一類型或第二類型;其中,第一類型用于指示目標硬盤包括機械硬盤,第二類型用于指示目標硬盤不包括機械硬盤;
13、在硬盤類型為第二類型時,根據硬盤容量和硬盤類型,得到預期寫入時間,包括:
14、根據預設的比例系數,修正硬盤容量;其中,修正后的硬盤容量小于修正前的硬盤容量;
15、根據修正后的硬盤容量,得到預期寫入時間。
16、在一種可能的設計中,第一類型的目標硬盤對應的測試上限時間,短于第二類型的目標硬盤對應的測試上限時間。
17、在一種可能的設計中,獲取目標硬盤的硬盤容量和硬盤類型,包括:
18、獲取目標硬盤的屬性信息的字段;
19、對屬性信息的字段進行解析,得到硬盤容量和硬盤類型。
20、在一種可能的設計中,對目標硬盤交替執行連續寫入操作和隨機寫入操作,包括:
21、在第一預設時間以內,對目標硬盤首次交替執行連續寫入操作和隨機寫入操作;其中,首次交替寫入的數據量,小于預測緩內容量;
22、對目標硬盤二次交替執行連續寫入操作和隨機寫入操作。
23、在一種可能的設計中,第一測試數據包括:第二預設時間以內的隨機讀寫時延、連續讀帶寬和隨機讀iops;第二測試數據包括:第三預設時間以內的隨機讀寫時延、連續讀帶寬和隨機讀iops;
24、根據第一測試數據、第二測試數據和日志數據,得到目標硬盤的多個性能指標,包括:
25、根據日志數據,確定目標硬盤的實際緩內容量;
26、在實際緩內容量大于零時,根據第一測試數據和日志數據,得到目標硬盤的緩內性能,并根據第二測試數據,得到目標硬盤的緩外性能。
27、在一種可能的設計中,根據第一測試數據、第二測試數據和日志數據,得到目標硬盤的多個性能指標之后,該方法還包括:
28、將未測試過的緩存硬盤,確定為新的目標硬盤,以測試新的目標硬盤的多個性能指標。
29、本技術的第二方面提供一種硬盤性能測試系統,該系統包括:
30、多個緩存硬盤,以及分別與每個緩存硬盤通信連接的硬盤性能測試裝置,硬盤性能測試裝置用于實現如第一方面任一項的硬盤性能測試方法。
31、本技術的第三方面提供一種硬盤性能測試裝置,該裝置位于硬盤性能測試系統,硬盤性能測試系統還包括多個緩存硬盤,目標硬盤是多個緩存硬盤中的任意一個;對于目標硬盤,該裝置包括:
32、首次測試模塊,用于對目標硬盤進行首次性能測試,得到第一測試數據;其中,首次性能測試寫入的數據量,小于目標硬盤的預測緩內容量;
33、時間獲取模塊,用于獲取目標硬盤的持續寫入時間;
34、持續寫入模塊,用于對目標硬盤交替執行連續寫入操作和隨機寫入操作,并記錄瞬時寫入速度的日志數據,直到日志數據指示瞬時寫入速度滿足預設速度要求,或者,交替寫入操作的持續時間達到持續寫入時間,則確定交替寫入操作寫入的數據量,大于預測緩內容量;
35、二次測試模塊,用于對目標硬盤進行二次性能測試,得到第二測試數據;
36、性能確定模塊,用于根據第一測試數據、第二測試數據和日志數據,得到目標硬盤的多個性能指標。
37、本技術的第四方面提供一種電子設備,包括:存儲器,以及與處理器通信連接的存儲器;
38、存儲器存儲計算機執行指令;
39、處理器執行存儲器存儲的計算機執行指令時,用于實現第一方面任一項的硬盤性能測試方法。
40、本技術的第五方面提供一種計算機可讀存儲介質,計算機可讀存儲介質中存儲有計算機執行指令,計算機執行指令被處理器執行時,用于實現第一方面任一項的硬盤性能測試方法。
41、本技術的第六方面提供一種計算機程序產品,包括計算機程序,計算機程序被處理器執行時,用于實現第一方面任一項的硬盤性能測試方法。
42、本技術提供的一種硬盤性能測試方法、系統和裝置,對于分布式存儲系統的目標硬盤,該方法包括:對目標硬盤進行首次性能測試,得到第一測試數據;獲取目標硬盤的持續寫入時間;對目標硬盤交替執行連續寫入操作和隨機寫入操作,并記錄瞬時寫入速度的日志數據,直到日志數據指示瞬時寫入速度滿足預設速度要求,或者,交替寫入操作的持續時間達到持續寫入時間;對目標硬盤進行二次性能測試,得到第二測試數據;根據第一測試數據、第二測試數據和日志數據,得到目標硬盤的多個性能指標。實現了如下技術效果:通過兩輪性能測試,即可以測試出配備slc緩存的硬盤的性能,也可以測試出未配備slc緩存的硬盤的性能,解決了如何通過一種通用的方法,覆蓋不同類型的緩存硬盤的問題;通過首次性能測試確定目標硬盤的緩內性能,通過二次性能測試確定目標硬盤的緩外性能,并通過交替寫入操作確定目標硬盤的緩內緩外寫入速度,解決了如何準確測試出目標硬盤的各項性能指標的問題;通過交替寫入操作,確保目標硬盤的slc緩存被寫滿,同時,限制交替寫入操作的速度要求和持續時間,解決了如何快速測試出目標硬盤的各項性能指標的問題。