System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本申請涉及自動化測試,尤其涉及一種存儲性能測試方法、設備及介質(zhì)。
技術介紹
1、近年來,分布式存儲憑借高擴展、多協(xié)議、高性能、高可靠和生態(tài)開放等特點被廣泛應用。分布式存儲在具體應用前,常常需要根據(jù)應用場景進行性能測試,獲取性能指標。
2、現(xiàn)有技術中,分布式存儲的性能自動化測試系統(tǒng),通常包括環(huán)境部署,測試執(zhí)行,日志收集和數(shù)據(jù)處理等模塊,其中,測試執(zhí)行通常按照預設的壓測工具配置文件來執(zhí)行。
3、目前的測試系統(tǒng)無法滿足測試要求,需要一種新的存儲性能測試方法,以測試分布式存儲在多種測試場景下的存儲性能數(shù)據(jù)。
技術實現(xiàn)思路
1、本申請實施例提供一種存儲性能測試方法、設備及介質(zhì),用以測試分布式存儲系統(tǒng)在多種測試場景下的存儲性能數(shù)據(jù)。
2、第一方面,本申請實施例提供一種存儲性能測試方法,所述方法包括:
3、響應用戶選擇的測試模式,在確定選擇的測試模式為指定時延模式時,獲取所述用戶輸入的目標時延和調(diào)節(jié)系數(shù),指定時延模式用于測試測試對象在目標時延下的存儲性能;
4、在測試對象中以初始隊列深度執(zhí)行至少一次預測試,根據(jù)所述預測試的測試時延、所述目標時延、以及所述調(diào)節(jié)系數(shù),確定目標隊列深度,其中,隊列深度用于指示給所述測試對象發(fā)送的io請求數(shù)量;
5、使用所述目標隊列深度在所述測試對象中執(zhí)行存儲性能測試,獲取所述測試對象的存儲性能數(shù)據(jù)。
6、通過上述方法,在對測試對象進行存儲性能測試時,用戶可以選擇指定時延模式,在此測試模
7、在一種可能的實施方式中,所述根據(jù)所述預測試的測試時延、所述目標時延、以及所述調(diào)節(jié)系數(shù),確定目標隊列深度,包括:
8、在確定所述預測試的測試時延小于或等于所述目標時延時,基于所述調(diào)節(jié)系數(shù)增加當前隊列深度,得到新的隊列深度,繼續(xù)執(zhí)行下一次預測試;
9、在確定所述預測試的測試時延大于所述目標時延時,利用所述調(diào)節(jié)系數(shù)縮小當前隊列深度,得到所述目標隊列深度。
10、通過上述方法,在測試對象中以初始隊列深度執(zhí)行至少一次預測試,利用調(diào)節(jié)系數(shù)調(diào)整當前隊列深度,以確定測試時延小于對象指定的目標時延時的最優(yōu)隊列深度,并在后續(xù)存儲性能測試時,使用此最優(yōu)隊列深度進行存儲性能測試,確保能夠獲得時延滿足要求時的最優(yōu)存儲性能數(shù)據(jù)。
11、在一種可能的實施方式中,所述基于所述調(diào)節(jié)系數(shù)增加當前隊列深度,得到新的隊列深度,包括:
12、若所述調(diào)節(jié)系數(shù)大于1,則計算所述當前隊列深度與所述調(diào)節(jié)系數(shù)的乘積,對所述乘積向上取整得到新的隊列深度;
13、若所述調(diào)節(jié)系數(shù)小于1,則計算所述當前隊列深度與所述調(diào)節(jié)系數(shù)的比值,對所述比值向上取整得到新的隊列深度。
14、通過上述方法,在增加當前隊列深度時,通過靈活的設置調(diào)節(jié)系數(shù),可以控制預測試過程中隊列深度調(diào)節(jié)的顆粒度。
15、在一種可能的實施方式中,所述利用所述調(diào)節(jié)系數(shù)縮小當前隊列深度,包括:
16、若所述調(diào)節(jié)系數(shù)大于1,則計算所述當前隊列深度與所述調(diào)節(jié)系數(shù)的比值,對所述比值向下取整得到所述目標隊列深度;
17、若所述調(diào)節(jié)系數(shù)小于1,則計算所述當前隊列深度與所述調(diào)節(jié)系數(shù)的乘積,對所述乘積向上取整得到所述目標隊列深度。
18、通過上述方法,在確定預測試的測試時延大于目標時延時,當前隊列深度下的測試時延已無法滿足用戶指定的目標時延,故利用調(diào)節(jié)系數(shù)縮小當前隊列深度,得到目標隊列深度,也即滿足用戶指定的目標時延的最優(yōu)隊列深度。
19、在一種可能的實施方式中,所述預測試的測試時長小于預設時長,和/或測試次數(shù)小于預設次數(shù)。
20、在一種可能的實施方式中,所述方法還包括:
21、在確定選擇的測試模式為指定命中率模式時,獲取所述用戶輸入的目標命中率和偏移量,指定命中率模式用于測試測試對象在目標命中率下的存儲性能;
22、在測試對象中執(zhí)行至少一輪存儲性能測試,獲得至少一個測試結(jié)果,所述測試結(jié)果中包括所述測試對象在不同命中率時的存儲性能數(shù)據(jù);
23、基于所述至少一個測試結(jié)果,確定所述測試對象的命中率在第一命中率和第二命中率之間時的存儲性能數(shù)據(jù),作為所述測試對象在所述目標命中率下的存儲性能數(shù)據(jù),所述第一命中率為所述目標命中率與所述偏移量之差,所述第二命中率為所述目標命中率與所述偏移量之和。
24、通過上述方法,在對測試對象進行存儲性能測試時,用戶可以選擇指定命中率模式,在此測試模式下,用戶可以輸入其指定的目標命中率和偏移量,以獲取測試對象在指定命中率區(qū)間內(nèi)的存儲性能數(shù)據(jù),通過擴展指定命中率模式,針對大數(shù)據(jù)量讀寫應用場景,用戶可以輸入指定的命中率進行存儲性能測試,擴展了存儲性能測試的應用場景。
25、在一種可能的實施方式中,所述方法還包括:獲取所述用戶輸入的測試輪數(shù)n,n為正整數(shù);
26、所述在測試對象中執(zhí)行至少一輪存儲性能測試,包括:
27、在所述測試對象中執(zhí)行n輪存儲性能測試,得到n個測試結(jié)果,其中每輪存儲性能測試為:將所述測試對象緩存層中數(shù)據(jù)刷盤至容量層,在所述測試對象中進行存儲性能測試,記錄實時命中率與測試時刻的對應關系,在確定所述測試對象的命中率達到預設值或者測試時長大于預設測試時長時,將所述實時命中率及測試時刻的對應關系及本輪測試的測試數(shù)據(jù)作為測試結(jié)果。
28、通過上述方法,在測試對象中進行n輪存儲性能測試,獲得n個測試結(jié)果,以提高測試結(jié)果的準確性。
29、在一種可能的實施方式中,所述基于所述至少一個測試結(jié)果,確定所述測試對象的命中率在第一命中率和第二命中率之間時的性能數(shù)據(jù),包括:
30、針對每個測試結(jié)果,分別執(zhí)行以下操作,確定每個測試結(jié)果對應的存儲性能數(shù)據(jù):根據(jù)測試結(jié)果中所述實時命中率及測試時刻的對應關系,確定命中率首次大于或者等于所述第一命中率時的第一時刻、以及命中率首次小于或者等于所述第二命中率時的第二時刻,并基于所述測試數(shù)據(jù)確定所述第一時刻與所述第二時刻之間的存儲性能數(shù)據(jù);
31、若n為1,則將所述測試結(jié)果對應的存儲性能數(shù)據(jù),作為所述測試對象的命中率在第一命中率和第二命中率之間的存儲性能數(shù)據(jù);
32、若n大于1,則將多個測試結(jié)果對應的存儲性能數(shù)據(jù)的平均值,作為所述測試對象的命中率在第一命中率和第二命中率之間的存儲性能數(shù)據(jù)。
33、通過上述方法,可以獲得每個測試結(jié)果中命中率在第一命中率和第二命中率之間的存儲性能數(shù)據(jù),進而得到整個測試過程(包括一個測試結(jié)果或者多個測試結(jié)果)中命中率在第一命中率和第二命中率之間的存儲性能數(shù)據(jù)。
34、在一種可能的實施方式中,所述獲取所述用戶輸入的目標時延和調(diào)節(jié)系數(shù),包括:
35、向用戶本文檔來自技高網(wǎng)...
【技術保護點】
1.一種存儲性能測試方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述預測試的測試時延、所述目標時延、以及所述調(diào)節(jié)系數(shù),確定目標隊列深度,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述調(diào)節(jié)系數(shù)增加當前隊列深度,得到新的隊列深度,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述利用所述調(diào)節(jié)系數(shù)縮小當前隊列深度,得到所述目標隊列深度,包括:
5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,所述預測試的測試時長小于預設時長,和/或測試次數(shù)小于預設次數(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述用戶輸入的目標時延和調(diào)節(jié)系數(shù),包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述向用戶展示測試參數(shù)輸入選項,包括:
9.一種存儲性能測試方法,其特征在于,所述方法包括:
10.一種電子設備,其特征在于,其包括處理器和存儲器,其中,所述存儲器存儲有計算
...【技術特征摘要】
1.一種存儲性能測試方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述預測試的測試時延、所述目標時延、以及所述調(diào)節(jié)系數(shù),確定目標隊列深度,包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述調(diào)節(jié)系數(shù)增加當前隊列深度,得到新的隊列深度,包括:
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述利用所述調(diào)節(jié)系數(shù)縮小當前隊列深度,得到所述目標隊列深度,包括:
5.根據(jù)權(quán)利要求1-4中任一項所述的方法,其特征在于,所述預測試的測試時長小于預設時長,和/或測試...
【專利技術屬性】
技術研發(fā)人員:謝林延,陳均佑,
申請(專利權(quán))人:超聚變數(shù)字技術有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。