DB管理者がいますぐ確認すべき3つの設定
管理者の力量があらわれる3つの設定
前回、設定された値を見るだけでDB管理者の力量が見える、ということに触れました。今回も必ず押さえておきたいパラメータを、なぜそのように設定すべきかという理由と併せて解説していきます。
設定すべきポイントは大変シンプルです。
- tempdbの数をCPUコア数にあわせよ
- x64環境なら「メモリ内のページロック指定」を変えよ
- OLTP環境では、並列処理の最大限度(Max DOP)はCPUコア数の「4分の1」に設定せよ
もちろん、これだけ変更すれば、その部分における最低限のチューニングは完了します。しかし1つ上のエンジニアを目指すなら、その理由まできっちり知っておくべきでしょう。その理由を知ることで、監視ツールや動的管理オブジェクトが発する「声」をより多く聞くことができるようになるからです。
その1:tempdbの数をCPUコア数にあわせよ
こちらは前回、ラッチの解説で取り上げました。Latchを最小限にするために、tempdb(一時表領域)の数はCPUコア数(スケジューラ数)と同じ数だけ用意してください。
●図1 tempdbの設定例。CPUコア数(スケジューラ数)と同じ数だけ用意する(クリックで拡大します)その2:x64環境なら「メモリ内のページロック指定」を変えよ
これはOS側の設定です。64bit環境を使っているDB管理者は、Windowsのローカルポリシー、ユーザー権利の割り当てにおける「メモリ内のページのロック」に、SQL Serverの実行ユーザーを追加します。これだけです。MSDNのドキュメントは日本語も英語もどちらも大変不親切で、やるべきなのかやらなくてもいいのかが分かりにくいのです。結論からいうと、これは必ず設定すべきです。
●図2 「メモリ内のページのロック」にSQL Server実行ユーザーを追加する(クリックで拡大します)4GBを超える物理メモリに対するメモリサポートの有効化
http://msdn.microsoft.com/ja-jp/library/ms179301.aspx
Lock Pages in Memoryオプションを有効にする方法(Windows)
http://msdn.microsoft.com/ja-jp/library/ms190730.aspx
これは、SQL Serverの実行ユーザーが、メモリの連続領域を確保するために設定すべき項目です。64bit環境であればメモリはふんだんに搭載しているはずです(第2回「CAT秘伝、バランスド・システムの考え方」参照)。この設定をしておかないと、物理的に連続したメモリ領域を確保できないため、せっかく搭載したメモリを有効に活用できません。そのためにこの権限を与える必要があります。
●図3 SQL Serverのログ。1行目は連続領域が確保できていないときのログが表示されている。設定を行うと下のようなログが出力されるもし64bit環境を利用していたならば、SQL Serverのログをみてください。もしそこに「Cannot use Large Page Extensions: lock memory privilege was not granted.」と表示されていたとしたら、連続領域が確保されていない状態で動作していることになります。すぐにローカルポリシーを見直し、設定を変えてみてください。正しく設定されていれば、ログには「Large Page Granularity: 2097152」 (2MB)、および「Large Page Extensions enabled.」と表示され、プロセスはそれぞれ2MBの物理的に連続したメモリ領域を確保していることが確認できます。
1/3 |
Index | |
DB管理者がいますぐ確認すべき3つの設定 | |
Page 1 管理者の力量があらわれる3つの設定 その1:tempdbの数をCPUコア数にあわせよ その2:x64環境なら「メモリ内のページロック指定」を変えよ |
|
Page 2 その3:OLTPでは、並列処理の最大限度はCPUコア数の「4分の1」に すべてのチューニング可能なパラメータを表示するためには |
|
Page 3 押さえておきたい4つの動的管理ビュー 代表的な監視ツール パフォーマンスモニタ SQL Server Profiler SQL Serverダッシュボード |
真・Dr. K's SQL Serverチューニング研修 連載インデックス |
- DB管理者がいますぐ確認すべき3つの設定 (2010/9/6)
SQLをうまく書くことだけがチューニングではありません。まずは、この3つの設定をチェックすることからはじめよう - モバイルでもリラックス! CouchDB on Android (2010/9/2)
2010年8月、CouchDBの状況が激変! 小さなモバイルデバイスで動作するというその意味、実はとっても大きいのです - 企業やコミュニティのボーダーを越えて (2010/8/23)
サンとオラクルの間、そしてMySQLとDB2の間に壁なんて存在しません! DB界の意外で必然な融合はこんな形で行われています - PCI DSS準拠のためにデータベースができること (2010/8/2)
支払カード業界で策定されたセキュリティ基準PCI DSS。準拠のために「DBセキュリティ」がカバーできる範囲を解説します
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -