レポートサービスは、CPUの25%以上を使用することはありません
-
23-08-2019 - |
質問
私は、迅速な火災のPDFレポートを作成するソリューションを設定しました。現在、それは私がそれに利用できる持っているすべてのリソースを使用するようにReporting Servicesを得ることができないようです。システムはIOバインドされ、CPUバウンド、またはメモリ拘束されることには表示されません。それはとても実行している理由を理解しようと上の任意の提案ですか?
アプリケーションがバインドIOネットワークず、それはプロセッサの2倍の数にマルチスレッド化されます。
解決
SQL Server Reporting Servicesのは2同時アドホックレポートおよび2つの同時Webレポートを実行するレポートの数を制限します。これは、サーバーによって課せられたハードリミットです。
他のヒント
ロビン・デイは、あなたがをスレッディングハイパーをサポートするプロセッサを使用しているがあれば、おそらく正しいです。はBIOSでこれをオフにすることで、パフォーマンス上の利点を得ることができます。あなたはA / Bの性能試験を試すことができます。
(あなたはSSRSは、右の意味レポーティングサービスを言うとき?)また、SQLインスタンスを確認することができGOTプロセッサアフィニティ設定していない。
これはマルチスレッドのアプローチを使用していない場合ですか?マシンがプロセッサの1つのコアの100%を使用しており、それがボトルネックだ?
EDIT:あなたはそれがすでにマルチスレッド化したことに言及したの前に明白なことを述べて申し訳ありませんが、ただのアイデアでした。私はこれ以上の提案を提供することはできません怖います。
それはとても実行している理由を理解しようと上の任意の提案ですか?
a)は1つのCPUに全体のプロセスを制限するためのAPIがあります:。テストそのGetProcessAffinityMask
を使用して
b)の「スレッドの状態」と「スレッドの待機理由のパフォーマンスカウンタの二人は...多分あなたはスレッドが、我々はあなたが実行されているべきだと思う理由は、これを読むことができる、ではありませんされます。
あなたのアプリケーションのすべてのスレッドは単一のロックのために戦っています。どこかで輻輳があるかどうかを確認するためにプロファイラを使用します。
あなたは4つのコアを持っている場合は、25%の全体的なCPUの使用率を参照してください理由は、それが説明するだろう。
たぶん、サーバがネットワーク上でより多くのデータを配信することはできません(それはIOがバインドネットワークだ)?