ブログ

2021/04/07
【プリザンター】 第91回)SQL Server使用時のパフォーマンス改善

最近のプリザンターのパフォーマンスってどうですか?

こんにちは、CCSの田中です。

「最近、使用しているプリザンターのレスポンスが悪くなってきた」「ログインボタンをクリックしてから、画面が切り替わるまでに時間がかかるようになった」などと感じたことはないでしょうか?
プリザンターの作りとしてはパフォーマンスがよくなるように作られているのですが、他の要因で遅くなることもあります。
以前の投稿で「 第31回)プリザンターのレスポンス劣化(遅い)と感じた場合の確認と対処方法
を紹介しましたが、SQL Serverを使用している場合の改善方法についても紹介しておきたいと思います。

パフォーマンスが改善されることを保証するものではありませんが、今回紹介する操作でパフォーマンスの劣化が解消されるケースもありますので、試す価値はありかと思います。
最近、プリザンターが遅くなったと感じた方は一度お試しください。
なお、試す場合はバックアップ等を取得して、問題があった場合は復旧できる状態にしてから作業は実施ください。

SQL Serverの統計情報の更新

改善方法は2つあります。1つは以前紹介したものと同様ですが、調査方法について説明しておきます。
もう一つは統計情報の更新です。
先に統計情報の更新について説明します。

SQL Serverは内部に統計情報を持っていて、パフォーマンスがよくなるようにデータを更新しています。あるタイミング(DBに2割程度の変更があった場合などの各種条件にあてはまったときなど)で統計情報の更新がされます。
これを手動でも行うことができ、実行することでパフォーマンスが改善されます。
まずは実行する前に、プリザンターのレスポンスで時間がかかるところを計測しておき、下記を実行後に再度計測すると改善されたかどうかがわかると思います。

実行方法は以下の通りです。


  1. SQL Server Management Studioを起動し、メニューの「新しいクエリ」をクリックします。

  2. クエリに「Exec sp_updatestats」と入力します。

  3. メニューの「実行」ボタンをクリックします。


1分程度で、下記の画面のように結果が表示されます。

2つ目は、フォルダやテーブルのアクセス権限に設定によってパフォーマンスが悪くなる場合があるため、どこが影響しているのかの調査方法について説明します。詳細な説明を記載するとボリュームが大きいため、簡易的にご説明します。


  1. SQL Server Profilerを起動します。

  2. トレースを開始します。

  3. 重い操作を実行し、操作が完了したら停止ボタンをクリックします。

  4. SPIDを見て自分の操作を確認します。ファイルに保存してフィルタリングすると見やすいです。

  5. StartTimeとEndTimeを見て、差の大きい操作を確認します。

  6. 差のある操作のクエリ(TextData)を確認して、その中の「 "Permissions"."ReferenceId"=」の次の数値を確認します。

    このSiteIdのところで時間がかかっているため、この部分の権限を見直します。(シンプルにすると効果があります)



  7. それでは、レスポンスの悪かったところに再度アクセスしてみて、時間を計測してみてください。
    改善されましたか?

まとめ

さて、いかがでしたか?

今回はトラブルシューティング的にパフォーマンス改善について説明しました。
私はもともとインフラ(サーバやネットワーク)を得意としているため、本来はこちらの分野の方が得なので、こういった情報も出していこうと思います。

導入の支援、スクリプト開発などでお困りの場合は、当社で支援もいたします。プリザンター逆引き辞典PDF版やスタイル・スクリプトサンプル集PDF版の販売もしております!

☆☆ブログ内容への質問や追加説明をご希望の方は
【問い合わせフォーム】 こちら からお気軽にお問い合わせください☆☆

PAGE TOP