Sql-Server
理論寫入/秒限制
如果我有 Solarwinds,每當我們每秒寫入超過 300 次時就會設置警報,並且我知道每秒寫入 300 次就可以了,並且每秒寫入次數通常超過 6500,我如何計算出寫入的理論限制每秒是,所以我可以更改警報從而使其可操作?
如果“寫入次數不應超過磁碟容量的 85%”,我如何計算出目前磁碟配置可能的寫入次數?
一種方法是監控數週或一個月的寫入/秒,然後根據您看到的最大值得出一個數字。顯然這是一個粗略的指南,隨著工作量的變化,您也必須調整門檻值。
您還可以使用磁碟基準測試工具來測試磁碟子系統的吞吐量。 diskspd是我們使用的東西。另請注意,每秒寫入次數取決於所使用的塊大小。根據驅動器的用途(數據或事務日誌)以及工作負載的類型,SQL Server 可以使用不同的驅動器。您可以在此處閱讀有關 SQL IO 大小的資訊。顯然,如果您在生產系統上執行它,您可能會對性能產生影響。
恕我直言,
var jsonHDDiops = [ { "n": '[HDD-15K]', "v": 175 }, { "n": '[HDD-10K]', "v": 125 }, { "n": '[HDD-7K2]', "v": 90 }, { "n": '[HDD-5K9]', "v": 75 } ]; var jsonRAIDpenalty = [ { "n": '[RAID 10]', "v": 2 }, { "n": '[RAID DP]', "v": 2 }, { "n": '[RAID 1]', "v": 2 }, { "n": '[RAID 0]', "v": 1 }, { "n": '[RAID 5]', "v": 4 }, { "n": '[RAID 6]', "v": 6 } //? ]; function dvFiops(RAIDtype,numberHDD,HDDtype,percentR,jsonHDDiops,jsonRAIDpenalty){ if (percentR>100 || percentR<0) { return 0;} var percentW =100-percentR; var iops=0; var RAWiops=0; var Fiops=0; var RAIDpenalty=1; for (var ic = 0; ic < jsonHDDiops.length; ++ic) { if(jsonHDDiops[ic].n === HDDtype) {iops = jsonHDDiops[ic].v;} } for (var ic = 0; ic < jsonRAIDpenalty.length; ++ic) { if(jsonRAIDpenalty[ic].n === RAIDtype) {RAIDpenalty = jsonRAIDpenalty[ic].v;} } RAWiops=iops*numberHDD; Fiops= ((RAWiops*percentW/100)/RAIDpenalty)+(RAWiops*percentR/100); return Fiops; }
https://en.wikipedia.org/wiki/IOPS => 編輯 jsonHDDiops 值
85% 寫入 => percentR=15
PS範例: