1

特定のページのボタン クリック イベントで時折パフォーマンスが低下するという問題があります。通常のパラメーター内でうまく機能する場合もありますが、サーバーに適度な負荷がかかっている場合 (開発環境やテスト環境ではなく、実稼働環境でこの問題が発生する可能性があることを意味します) は常にハングしているように見えます。トレースを有効にした後、Begin PreRenderComplete と End PreRenderComplete の間にぶら下がっているように見えます。30秒近くそこに座っているだけです。そのイベント スペースで実行する特定のコードはありません。私の理解では、PreRender フェーズが終了したことを確認するだけなので、このイベントはライフ サイクルでは非イベントであるはずです。このページには多数のコントロールがあり、かなり大きなビューステートがあります。

サーバーに対して perfmon を実行しましたが、システム リソースが正常なこの動作を生成できるときは、要求のキューイングはありません。この速度低下の原因となっている舞台裏でどのようなアクションが行われているのかを理解しようとしています。

4

2 に答える 2

0

ページに非同期アクションはありますか?非同期呼び出しはそのイベントの前に完了すると思います。そのため、低速のデータベースや低速のネットワーク呼び出しなど、一部の呼び出しに時間がかかると、遅延が発生する可能性があります。

于 2013-02-26T17:23:24.280 に答える
0

私は問題を見つけたと思います。より詳細なプロファイリングにより、私の ScriptManager コントロールがスクリプトを結合しようとする際に遅延を引き起こしているようです。どうやら、これは負荷がかかった状態でのみ問題を引き起こし、ほとんどは prerendercomplete イベントで発生します。CombineScripts="false" 属性を設定することで、この問題は解決したようです。

于 2013-03-01T16:22:14.490 に答える