web-dev-qa-db-ja.com

SQL Serverの適切なストレージブロックサイズの選択

SQLサーバーに使用する必要があるストレージブロックのサイズに関する記事はたくさんあります。 SQL Serverのディスクパーティションアライメントのベストプラクティス 。適切なブロックサイズを設定すると、SQLサーバーデータベースのパフォーマンスが向上します。データベースに適切なストレージブロックサイズを特定するための推奨事項と方法を探しています。適切なブロックサイズを特定する方法に関するガイドはありますか?

5
r0tt

この方法は、質問でリンクした記事で使用されている方法です。テストしてください。アプリケーション/データベースの代表的なワークロードをキャプチャし、異なるクラスターサイズのサーバーでそのワークロードを再生できます。 SQL Severはディスクからデータを読み取る方法( read-ahead )のため、64KBクラスターで最適に機能することがわかります。

ただし、そうする必要はありません。参照している記事で明確に述べられているように、64KBのクラスターサイズを設定することは、確立されたベストプラクティスです。記事から:

SQL Serverに推奨されるファイルアロケーションユニットサイズ(クラスターサイズ)は64 KBです。これは図4に反映されています。

さまざまなクラスターサイズでパフォーマンスをテストする場合、特にハイエンドのストレージシステムでは、その違いは無視できる程度であることがわかります。

4
spaghettidba

64Kブロックサイズは、SQL Serverが「エクステント」と呼ばれる単位でI/Oを行うという事実に由来します。これは、それぞれ8ページであり、ページは8Kなので、I/Oの基本単位は8 X 8K = 64Kです。

Paul Randalが here について説明します。

3
Thomas Pullen