sql >> データベース >  >> RDS >> Sqlserver

SQL Serverのパフォーマンス—クラウドでのテスト

    顧客のエクスペリエンスを向上させるために、新しいSQL Serverの実装やアップグレードに苦労し、顧客が実際には事態が悪化していると不満を言った場合はどうなりますか?

    SQL Serverのパフォーマンスを向上させるために、これらすべてのビジネスおよび技術的なフープを飛び越えて、それからそうしなかったとしたら、あなたは不満を感じませんか?

    実稼働環境に入る前に、SQLServerのパフォーマンステストを実施しておく必要があるかもしれません。そうすれば、パフォーマンスが向上するのか、変わらないのか、最悪の場合、低下するのかがわかります。

    しかし、少なくともあなたは不愉快に驚かされることはなかっただろう。

    私たち全員が交差するSQLServerパフォーマンスブリッジ

    他のデータベースからSQLServerに切り替える場合でも、古いバージョンのSQL Serverから新しいバージョンにアップグレードする場合でも、最終的にはパフォーマンスブリッジを越える必要がありました。

    「本当に以前よりもうまくいくのでしょうか?」上司が尋ねました。

    「ああ、確かに」とあなたは言った。 「SQLServer2019のデータ仮想化により、データを移動または複製せずにクエリを実行できます。また、クエリをスケールアップするためのインテリジェンスクエリ処理による自動調整があります。データはサーバーから飛び出します。」あなたは「FLY」を活用したことに自信を持っていました。

    では、どうすればパフォーマンスをより良くテストできたでしょうか?

    パフォーマンスをテストする4つの方法。 。 。

    SQL ServerMavenの並外れた存在であるBrentOzarが、新しいSQLServerのパフォーマンスを確認する方法を説明します。

    • 完全バックアップとCHECKDBの前後の時間を比較する簡単な方法
    • HammerDBに合成ワークロードとTPC-Cを使用する、簡単ですが間違った方法
    • より難しい方法、彼の計画キャッシュ分析スクリプトであるsp_BlitzCacheを使用して個々のクエリをテストする
    • 本番環境で実行するのと同じクエリを実行する、非常に難しい方法

    しかし、ブレントが明らかにしているように、SQLサーバーのパフォーマンスを監視し、それがXパーセント低下したことを見つけることはほんの始まりにすぎません。ヒットがどこから来ているのかを理解する必要があります。

    つまり、過去数時間だけでなく、数週間から数か月にわたるパフォーマンスデータの傾向を探すことを意味します。

    データポイントと履歴が多ければ多いほど、SQL Server環境の内部、内部、および周辺で何が起こっているかをより正確に把握できます。

    そして、そのすべてのデータでスローできるコンピューティングが多ければ多いほど、データをより迅速に分析できます。

    SQL Serverのパフォーマンス監視:クラウドの仕事のように聞こえます

    うん。これはクラウドの仕事であり、SQL Serverがリソースをどのように消費しているかを幅広く詳細に把握するために、すべてのデータを収集および分析するために十分にスケールアウトできる唯一の場所です。そして、それが時間の経過とともにそれらのリソースをどのように消費してきたか。例:

    • 1日または1か月の特定の時間に、頻繁に実行されるクエリは、最近使用されたデータベースページのメモリ内コピーであるバッファキャッシュからではなく、ディスクから読み取る必要があります。バッファキャッシュにより多くのメモリを割り当てる必要がありますか?これ以上メモリを節約できますか?
    • ページの平均余命についても同じです。低い場合は、SQL Serverがバッファキャッシュからページを頻繁に削除しており、メモリからではなくストレージからルックアップを実行する必要があることが原因である可能性があります。それはパフォーマンスを妨げます。
    • 最大I/O待機時間が長くなりすぎていませんか?トレンドはどうですか?これは、I/Oデバイスが飽和状態になっている可能性があることを示唆しています。
    • プロセッサキューは現在どのくらいですか?通常どのくらいですか?常に待機しているスレッドが多すぎる場合は、プロセッサの輻輳を示している可能性があります。
    • CPUは、サーバーが処理できる制限に対して実行されていますか?サーバーをスケールアップできなくなった場合はどうなりますか?クエリが適切に調整されており、他のシステムリソースが適切であることが確実な場合は、VMに物理ハードウェアまたはvCPU用のソケットを追加する必要がある場合があります。
    • 断片化されたインデックスは低速のインデックスですが、断片化レベルを確認するまで、それらが原因であることがわかりません。時間の経過とともに再編成と再構築の効果を確認すると、信頼性の高いインデックス保守プロセスを導入するのに役立ちます。

    クラウドからSQLServerのパフォーマンスを監視できると、すべてのオンプレミスおよびクラウドデータベースで発生するような問題をより簡単かつ迅速に見つけることができます。何よりも、すべてのコンピューティング、ストレージ、分析がクラウドにあり、ブラウザで数回クリックするだけで、既知の銀河のどこからでも監視できます。

    クラウドでのSQLServerパフォーマンスのテストを開始します

    Questでは、クラウド移行、パフォーマンスモニタリング、Office 365のいずれの場合でも、お客様がクラウドベースのツールを望んでいることを2回言う必要はありません。テクノロジーと市場がそれらを引き寄せているため、より多くの製品をクラウド製品として利用できるようにしています。

    では、新しいSQLServerまたはアップグレードされたSQLServerでパフォーマンステストをどのように実行しますか?

    • CHECKDBを実行します。
    • HammerDBを実行しています。
    • ブレントオザルのツールを実行しています。
    • 本番ワークロードでテストします。
    • サイコロを振って、ユーザーが文句を言うまで待ちます。
    • 私のためにそれをしてくれる人がいます。
    • QuestのSpotlightCloudを使用しています。あなたもそうすべきです。
    以下のコメントで教えてください。
    1. PostgreSQLのMAX()関数

    2. SQLデータベースの回復保留中のアクセス拒否の問題を修正

    3. SQLServerログインのパスワードを変更する

    4. SQLステートメントまたはストアドプロシージャから外部データベースに接続するにはどうすればよいですか?