2007年10月13日土曜日

SqlServerのチューニング

ハード的にSqlServerの動きを良くするには色々と方法があるそうで。

  • RAID-1(ミラー)構成にする
  • 物理的にディスクを増やす
  • CPUを増やす

「ミラーにする」というのはSqlServerに限らない話。Writeの速度は違うけど、Readの速度が最も早いのはミラー構成だからね。「物理的にディスクを増やす」のと「CPUを増やす」というのは若干SqlServerに限定した部分。SqlServerの同時実行命令数というのがこれらに依存するためなんだよね。DIskI/Oは物理ディスク数分しか同時実行できないので、極端に言うと物理ディスクを複数ぶら下げて、そのあたりにデータファイルを分散させるのがベスト。普通は自動拡張なんてさせないで、最初の時点で想定容量を求めた上で固定でアロケーションするんだけどな・・・。自動拡張でしかやったことない人だとわからないかも。
(それでも6.5までのSqlServerだと固定アロケーションが普通だったんだけどねぇ)

そしてCPUについては、まあ最近のご時勢でわかると思うけど・・・。簡単に言えば使えるスレッドの数はCPUの物理数とコア数に比例するから。
なので既存システムでスループットをあげたいという場合、最も行いやすい方法はこのあたりだろうね。ただ個人的には「設計の問題」が大きいから、サーバーごと新世代のHWにごっそり入れ替えるとかじゃなければ、それほどの機能向上は望めない気がしているけど。

0 件のコメント:

コメントを投稿