Sql-Server

理論寫入/秒限制

  • February 4, 2020

如果我有 Solarwinds,每當我們每秒寫入超過 300 次時就會設置警報,並且我知道每秒寫入 300 次就可以了,並且每秒寫入次數通常超過 6500,我如何計算出寫入的理論限制每秒是,所以我可以更改警報從而使其可操作?

如果“寫入次數不應超過磁碟容量的 85%”,我如何計算出目前磁碟配置可能的寫入次數?

一種方法是監控數週或一個月的寫入/秒,然後根據您看到的最大值得出一個數字。顯然這是一個粗略的指南,隨著工作量的變化,您也必須調整門檻值。

您還可以使用磁碟基準測試工具來測試磁碟子系統的吞吐量。 diskspd是我們使用的東西。另請注意,每秒寫入次數取決於所使用的塊大小。根據驅動器的用途(數據或事務日誌)以及工作負載的類型,SQL Server 可以使用不同的驅動器。您可以在此處閱讀有關 SQL IO 大小的資訊。顯然,如果您在生產系統上執行它,您可能會對性能產生影響。

一個更好的提醒性能計數器是sec/Writesec/Read。你可以在這里這裡閱讀

恕我直言,

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範例:

IOPS

引用自:https://dba.stackexchange.com/questions/258782