32GBのRAMとSQLServer 2014 Enterpriseがインストールされているサーバーがあります。全文人口に対するバッファプール拡張(BPE)の影響を試してみたいと思います。
テーブルを作成し、100GBのサイズに達するまでダミー情報を入力しました。
まず、BPEの前に全文索引を入力してみました。 3時間かかりました。次に、120GBが割り当てられたメモリを備えた140GBSSDで構成されたBPEを全文インデックスに入力してみました。奇妙なことに、全文索引の人口はこれ以上速くなりませんでした。
次のクエリを使用してSSDにBPEを作成し、インスタンスを再起動しました。
alter server configuration
set buffer pool extension
on ( filename = 'Z:\Cache.bpe' , size = 120gb )
質問は:
SQL Serverのバッファープールの使用状況を確認する方法(BPEが使用されているかどうかを知りたい)?
BPEはフルテキストインデックスの作成に影響しますか?
サーバーまたはバッファープールの構成を見逃しましたか?
SQL Serverのバッファープールの使用状況を確認する方法(BPEが使用されているかどうかを知りたい)?
クエリできます sys.dm_os_buffer_descriptors
例は次のようになります。
SELECT CONVERT(NUMERIC(38, 2), COUNT(*) * 8 / 1024.0) AS cached_data_mb,
CONVERT(NUMERIC(38, 2), SUM(CONVERT(BIGINT, free_space_in_bytes)) / 1024. / 1024.) AS free_mb,
CASE database_id
WHEN 32767 THEN 'ResourceDb'
ELSE DB_NAME(database_id)
END AS database_name
FROM sys.dm_os_buffer_descriptors
GROUP BY DB_NAME(database_id), database_id
ORDER BY cached_data_mb DESC;
サーバーまたはバッファープールの構成を見逃しましたか?
ドキュメント からはそのようには表示されません。提示されるオプションは多くありません。
BPEはフルテキストインデックスの作成に影響しますか?
2つの機能を一緒に使用することには、多くの人がを別々に。ここで独自の実験を行う必要があるかもしれません。
注意すべきことの1つは、BPEアクティビティがシングルスレッドであり、各I/Oが単一の8Kページに制限されていることです。これにより、フルテキストでは効果がなくなる可能性があります。
サーバーに適切な量のRAMを貼り付けたいと思います。