none
Reporting Serviceの表示速度について RRS feed

  • 質問

  • Reporting Serviceの表示速度について質問させて下さい。

    現在、クライアントPCからIEでレポートサーバに接続し、
    レポートを表示しています。

    例えば、サーバの元データ約6千件から約300件のデータを
    表示(抽出)するのに要する時間が約6秒なのに対し、
    元データ約5万件から約300件のデータを表示(抽出)するのに
    要する時間は35秒と、元データが数万件以上になると、
    かなり表示速度が遅くなります。

    レポートマネジャーの「プロパティ」タブの「実行」にて
    「レポートの一時コピーをキャッシュします。」に設定しているのですが、
    何度表示しても速度がかなり遅い状態です。

    また、ドリルダウンの設定をしているのですが、
    ドリルダウンの切り替えを行う時に、
    再度データを読み直しているのでしょうか、
    ドリルダウンの切り替えボタンを押下してから
    データが表示されるまでに時間がかかります。

    元データの件数が増えた場合、初期表示に時間がかかるのは仕方ないとしても、
    ドリルダウンの切り替えを行う際にもう少し表示速度が速くなると助かります。

    表示速度を改善するのに他にどのような方法があるのでしょうか?
    アドバイスをよろしくお願いします。

    2011年1月12日 4:44

回答

  • こんにちは。

    データソースが、RDBであれば、抽出するレコード数によって速度は遅くなると思います。
    RDBであれば、抽出するレコード数を減らすため、SQLで事前にサマリしておけばレコード数が減るので大分早くなります。

    データソースにOLAPを使用すれば、表示しているデータのみクエリを掛けるような動作になるので表示にかかる時間は早くなると思います。



    Blog:http://blog.sharepointissue.com HP:http://www.piecepoint.jp/
    • 回答としてマーク 山本春海 2011年2月2日 7:23
    2011年1月13日 3:43
  • 当たっているかは判りませんが・・・

    SSRSの処理は
    大まかに
    1.DBからのデータ抽出・・・DBサーバー性能・ネットワーク性能に依存
    2.レポートのレンダリング(レポート作成)
    3.レポートのクライアントへの転送
    4.クライアントでのWEBページの再現
    という段階に区分けできます。

    ドリルダウンは、(表示非表示関係なく)全表示データが3で転送され、
    4で制御・実行されます。ですのでドリルダウンの性能はクライアント依存です。
    折りたたんだ状態で300件でも、全てを展開すると数万件になるのであれば、
    数万件のデータがクライアントに送られるので、動きが非常に重くなります。

    このようなレポートの場合は、集計のページ(300件)と明細のページを用意して
    ドリルスルーを使うのがいいかと思います。
    ただ、「集計の中で一部だけ展開した状態で比較したい」という要望が結構ありますので、
    このような場合は、明細のページを工夫して要望の状態のレポートが作成できるように
    工夫が必要になります。


    --------------------------------- Infospire Kayano
    • 回答としてマーク 山本春海 2011年2月2日 7:23
    2011年1月13日 7:12

すべての返信

  • こんにちは。

    データソースが、RDBであれば、抽出するレコード数によって速度は遅くなると思います。
    RDBであれば、抽出するレコード数を減らすため、SQLで事前にサマリしておけばレコード数が減るので大分早くなります。

    データソースにOLAPを使用すれば、表示しているデータのみクエリを掛けるような動作になるので表示にかかる時間は早くなると思います。



    Blog:http://blog.sharepointissue.com HP:http://www.piecepoint.jp/
    • 回答としてマーク 山本春海 2011年2月2日 7:23
    2011年1月13日 3:43
  • 当たっているかは判りませんが・・・

    SSRSの処理は
    大まかに
    1.DBからのデータ抽出・・・DBサーバー性能・ネットワーク性能に依存
    2.レポートのレンダリング(レポート作成)
    3.レポートのクライアントへの転送
    4.クライアントでのWEBページの再現
    という段階に区分けできます。

    ドリルダウンは、(表示非表示関係なく)全表示データが3で転送され、
    4で制御・実行されます。ですのでドリルダウンの性能はクライアント依存です。
    折りたたんだ状態で300件でも、全てを展開すると数万件になるのであれば、
    数万件のデータがクライアントに送られるので、動きが非常に重くなります。

    このようなレポートの場合は、集計のページ(300件)と明細のページを用意して
    ドリルスルーを使うのがいいかと思います。
    ただ、「集計の中で一部だけ展開した状態で比較したい」という要望が結構ありますので、
    このような場合は、明細のページを工夫して要望の状態のレポートが作成できるように
    工夫が必要になります。


    --------------------------------- Infospire Kayano
    • 回答としてマーク 山本春海 2011年2月2日 7:23
    2011年1月13日 7:12
  • こんにちは、hashimoto1229 さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。
    その後いかがでしょうか。

    参考になる情報をいただいているかと思いましたので、勝手ながら私のほうで回答としてマークさせていただきました。
    yama chan さん、IS Kayano さん、アドバイスありがとうございます。

    他の方にも参考になるかと思いますので、その後の状況など、フォローしていただけるとうれしいです。
    今後ともMSDN フォーラムをよろしくお願いします。
                                                                             
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2011年2月2日 7:23