デモ環境
ThinkPad X201
CPU : Core i3
HD : 500GB
Memory : 8GB
OS : Windows Server 2012 RC (Release Candidate)
ゲスト OS (Hyper-V 3.0)
CPU : 2 コア
Memory : 4GB
OS : Windows Server 2012 RC
RDBMS : SQL Server 2012 SP1 CTP3
Minimum version requirements when you install SQL Server on Windows Server 2012 Release Candidate or on
Windows 8 Release Preview
http://support.microsoft.com/kb/2681562
15 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
参考 : バージョンによる注意点
SQL Server 2008 R2 までの Standard Edition では以下の技術情報の対応が
必要
TF845 を設定する
Support for Locked Pages on SQL Server 2008 R2 Standard Edition x64, on SQL
Server 2005 Standard Edition 64-bit systems, and on SQL Server 2008 Standard
Edition 64-bit systems
http://support.microsoft.com/kb/970070/en-us
SQL Server 2012 では上記対応は不要
How to enable the "locked pages" feature in SQL Server 2012
http://support.microsoft.com/kb/2659143/en-us
max server memory と併用して、SQL Server が確保可能な上限値を設定する
のが推奨
Lock Pages in Memory ... do you really need it?
http://blogs.technet.com/b/askperf/archive/2008/03/25/lock-pages-in-memory-do-you-really-
need-it.aspx
21 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
22.
設定の確認 (1/2)
Process Explorer で [sqlservr.exe] の情報を表示して、
[SeLockMemoryPrivilege] が有効になっているかを確認
Lock Pages in Memory オプションの有効化 (Windows)
http://msdn.microsoft.com/ja-jp/library/ms190730.aspx
22 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
23.
設定の確認 (2/2)
SQL Server の ERRORLOG に以下の行が出力されてい
ることを確認
Using locked pages in the memory manager.
23 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
24.
参考 : 3種類のメモリモデル
トレースフラグ 効果
-T834 ラージページを有効にする
-T835 AWE モデルを無効化
従来モデル
メモリ内のページのロックを設定しない
Using conventional memory in the memory manager.
AWE モデル
メモリ内のページのロックを設定
Using locked pages in the memory manager.
ラージページモデル
x64 の場合
AWE モデルの設定 + 物理メモリ 8GB 超え + TF834 • Small Page : 4KB
Using large pages in the memory manager. • Large Page : 2MB
24 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
25.
設定をするとどのような効果が??
設定することでSQL Server のバッファプールのメモリをロックした
ページとして取得し、バッファプールをページングの対象外にする
SQL Server と他のミドルウェアが共存しているときに、SQL Server で
使用しているメモリ (バッファプール) のページアウトを抑制する
ワーキングセットのトリミングを発生を防ぐ
DO’s&DONT’s #12: やった方がいいこと - max server memory を設定する
http://blogs.msdn.com/b/jpsql/archive/2012/02/06/do-s-amp-dont-s-12-max-server-memory.aspx
SQL Server で一定のメモリを確保しておきたい / SQL
Server 専用のサーバーで設定することが多い
25 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
26.
ワーキングセットのトリミング??
他のプロセス (SQL Server 以外のプロセス) がメモリが必
要となった時に、SQL Server が使用しているメモリをページ
アウトして、他のプロセスがメモリを確保できる状態にする
詳しくは SQLTO の兄貴 (@elanlilac) のブログ参照
SQL Server プロセスのワーキングセットのトリミング
http://elan.blog.so-net.ne.jp/2010-08-17
26 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
27.
ワーキングセットのトリミング
メモリの一部をページアウト
SQL Server
他のプロセス
SQL Server
他のプロセス
SQL Server
サーバーの
物理メモリ
使用状況
27 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04
参考 : SAPのベストプラクティスで見るファイル数
Small sized systems: 4 data files.
Systems usually run on dedicated database servers which have between 4 and
8 CPU cores.
Medium sized systems: 8 or 16 data files.
Systems usually run on dedicated database servers which have between 8 and
16 CPU cores.
Large sized systems: A minimum of 16 data files and maximum of 32.
Systems which today run on hardware between 16 and 32 CPU cores or up to
64 threads.
Xtra large sized systems: 32 Datafiles for systems with 32 to 256 cores
(Contact Microsoft for very large >15TB databases)
Frequently Asked Questions we heard on the SAP on SQL 2008 Training
course this year
http://blogs.msdn.com/b/saponsqlserver/archive/2010/06/28/frequently-asked-questions-we-heard-on-the-sap-on-sql-2008-
training-course-this-year.aspx
36 SQLTO 第 5 回勉強会 http://www.sqlto.net 2012/08/04