あなたは開発者、DBA、またはシステム管理者で、SQL Serverで長時間実行されるクエリに困っており、SQL Serverのパフォーマンスチューニングを行う必要があります。
- サーバーの速度を測定する
- クエリをパフォーマンス チューニングする
- インデックスをパフォーマンス チューニングする
- SQL Server の設定をパフォーマンス チューニングする
- ハードウェアをパフォーマンス チューニングする
- となっています。
- 最後に、新しいサーバーを購入しなければならない場合は、ベストプラクティスのセットアップ チェックリストを入手し、本番前に負荷テストを行います。
各ステップの詳細について説明します。
Measuring SQL Server Performance
ユーザーが「クエリが遅い」と言ってきたとき、その言葉を鵜呑みにするのではなく、どのクエリがなぜ遅いのかを正確に知りたいと思います。 まずは、
- sp_BlitzFirst® – この無料ツールは、SQL Server の速度計のようなものです。
- SQL Server Perfmon チュートリアル – Perfmon のセットアップ方法、追跡する SQL Server Perfmon カウンター、インジケータの意味を説明します。
- Brent Tune Serversを見る – Microsoft Ignite 2015で、彼はいくつかのSQL Serverワークロードを取り上げ、ボトルネックを見つけて、素早く修正するためにさまざまな設定を微調整しました。
そして、変更を始める前に、サーバーのどの部分を変更することが許可されているのかを聞いてみましょう。
SQL クエリを最適化する方法
もしあなたが社内のアプリケーションを持っていて、クエリの最適化を行うことが許されているなら、SQL Server で長時間実行されているクエリを見つけ、そのパフォーマンスを向上させる方法をいくつか紹介しましょう。
- 実行時間の長いクエリを全体的に見つけるには、フリーのスクリプト sp_BlitzCache を使用します。 事前に何かをインストールする必要はありませんし、2008年以降のサポートされているすべてのバージョンのSQL Serverで動作します。 クラウドでも動作します)
- 今現在、長く実行されているクエリを調べるには、sp_BlitzWhoを実行します。
SQL Profiler を使って実行速度の遅いクエリを捕まえるとは言っていないことに気づくでしょう。 Profiler は優れた SQL Server パフォーマンス モニターではありません: 実際、すべてのクエリの実行速度を低下させます。
チューニングする必要のある高価な SQL クエリが見つかったら、私のお気に入りのパフォーマンス チューニングのヒントを紹介します。
How to Do Index Performance Tuning
SQL クエリを最適化することは許されないが、それでも高速化する必要がある場合は、非クラスタ化インデックスやカバーリング インデックスを設計する必要があるかもしれません。
データベースの構造をより効率的にして SQL Server の動作を軽減したい場合は、以下のリソースをご利用ください:
- sp_BlitzIndex® – これをデータベースで実行すると、無料で健全性をチェックできます。
- インデックス リソース – インデックスのチューニングに関するお気に入りのブログ記事やビデオです。
- SQL Server ブック レコメンデーション – 本は無料ではありませんが、私たちがお勧めする本です。
- テーブル パーティション – この機能は、大きなテーブルを分割するのに最適な方法のように思えますが、いくつかの大きな問題があります。
- インデックスをチューニングする方法 – SQL Server のクエリをより速くするために。
- サーバー上でsp_Blitz®を実行してください。
- Check our SQL Server Setup Checklist – いくつかのシンプルな構成の微調整により、余分な費用をかけずに、最初から 20 ~ 30% のパフォーマンスの向上を実現できます。
- Review the Poor Performance Checklist – Jeremiah が悪い SQL Server パフォーマンスを修正する 5 つのこと。
Performance Tune the Hardware
ハードウェアを投入することが、最も速く、最も簡単で、最も安い修正方法であることがあります。
- What’s the Smallest SQL Server You Should Build? –
- SSD RAID 負荷テストの結果 – 既製の民生用 SSD は、特に RAID コントローラーの後ろに置いた場合、正確にどのくらい高速なのでしょうか?
- 仮想化のベスト プラクティス – ライセンス、回復可能性、およびパフォーマンスの構成
- Virtualization, SANs, and Hardware for SQL Server – セットアップとチューニングの方法を教える 7 時間のオンライン クラス
Building and Load Testing New SQL Servers
どのくらいの規模のサーバーを構築するかを計画しているときは、Microsoft TechEd 2012 の Brent 氏のビデオ「Building the Fastest SQL Servers」から始めましょう。
データ ウェアハウスについては、Microsoft Fast Track のランディング ページにアクセスしてみてください。 リファレンスコンフィグレーションとコンフィグレーションガイドに注目してください。 Microsoftのベンダーニュートラルなものから、Dell、HP、IBMなどのベンダー固有のガイドがあります。
サーバーが構築できたら、負荷テストとセットアップのためのお気に入りのリソースを紹介します。 –
- How to Test SAN Performance with SQLIO – SQLIO は、おそらく史上最悪の名前のツールです: データベースとは何の関係もありません。
Need SQL Server consulting?We’re performance tuning consultants.
私たちは、Microsoft SQL Server を高速で信頼性の高いものにすることを専門としています。
私たちのクライアントは、ドットコム サイト、ヘッジ ファンド、病院、ソフトウェア ベンダー、そして、1-2 人の小規模なショップまで、さまざまです。
私たちのクライアントは、ドットコムサイト、ヘッジファンド、病院、ソフトウェアベンダー、そして1-2人の小規模なショップなど、多岐にわたっています。彼らに共通しているのは、SQL Serverに不満を持ち、迅速でコスト効率の良い答えを求めているということです。
私たちが世界中のカンファレンスで発表しているのをご覧になったことがあると思います。 私たちは、SQL Server の健全性とパフォーマンスをチェックするサービスを提供しています。このサービスでは、問題の根本的な原因をすばやく突き止め、それを解決する方法を示します。 詳細については、今すぐお問い合わせください
。