0

あなたからの情報が必要です。アプリケーションで session.TimeOut=540 を使用しました。しばらくすると、アプリケーションのパフォーマンスに影響しますか。ユーザー数が増えると、非常に遅くなります。ボタンクリックの応答時間もほぼ2分以上です。これはアプリケーションプールのサーバーでホストされています。アプリケーションプールについてはあまり知りません。セッションタイムアウトが問題である場合は削除します。より多くのユーザー。 ここに画像の説明を入力

ジョブ番号、CustomerID、Tasks は 1 つのデータベースから取得されます。ユーザーが [開始] ボタンをクリックすると、データが別のデータベースに保存されます。より多くのユーザーに対してより高速にする必要があります。

4

3 に答える 3

0

作業に時間がかかるページや、何らかの理由で通常よりもバグが開いたままになっているページがあると思います。

セッションがすべてのページを保持しているため、このページはセッションをロックしたまま残りのページを応答から保持します。

現在、タイムアウトの増加とともに、このページはすべてをロックしており、応答時間は 2 分近くになっています。

解決策は、長時間実行されている問題のあるページを見つけて修正するか、プロセスを最適化して高速化することです。または、このページを長時間実行し続ける必要がある場合は、そのページのセッションを無効にします。

相対:
同じセッションを共有している別の Web アプリの処理中に Web アプリがブロックされた
ASP.NET のボトルネックを特定するのに役立つ perfmon カウンター
ASP.Net のセッションを完全に置き換える
Web メソッドを非同期にしようとする
ASP.NET Web フォームは、ダブルクリックによる送信を防止しますか?

サーバーについて

一方、サーバーがハードウェアに問題がある場合、またはセットアップが不適切な場合は、サーバーを高速化するために確認する必要がある別の回答が 1 つあります。

于 2012-08-03T07:01:49.620 に答える
0
  1. 時間をどこに費やすかを調べる

    「ボタンクリックで2分以上」と言ったメソッドにストップウォッチを追加します。最も多くの時間を費やしたステートメントを見つけることができます。

  2. 時間がかかるのがDBのクエリなら。SQLステートメントを確認してください。

    「SELECT Count(Id)」の代わりに「SELECT Count(*)」を使用していますか? * は常に遅くなります。また、「SELECT * FROM....」を試さないでください。

  3. キャッシュを使用します。

    キャッシュを行う方法はたくさんあります。ASPX ページとビジネス層の両方で。OutputCacheは最も簡単な方法です。

    また、ユーザーが最初にアクセスしたときにページ (ブログ投稿など) をキャッシュします。

  4. メモリー・ページングを使用しましたか?

    グリッドビューやその他のリストでページングを行うときは注意してください。DataSource=xxx と DataBind() を呼び出すだけの場合、PagedDataSource を使用しても、メモリ ページングである可能性があります。それは多くのパフォーマンスを犠牲にしました。ページングを行うには、ストアド プロシージャを使用してください。

  5. サーバー環境を確認する

    どこにウェブサイトを展開しましたか? 多くの ISP は、ブランド全体および IIS 接続数を制限し、アカウントの CPU 時間も制限します。

    サーバーへのRDアクセスがある場合。多くのユーザーがサイトにアクセスしたときに CPU とメモリの使用率が高いかどうかを確認できます。サイトの速度が遅く、CPU もメモリの使用率も高くない場合は、ネットワーク ブランド全体の問題である可能性があります。

于 2012-08-03T07:12:03.567 に答える
0

問題を絞り込む簡単な手順を次に示します。

1) HTTPWatch (無料の基本バージョンがあります) を入手して、エンド ユーザーの観点から実際に時間がかかっていることを確認します。リクエストの数、ダウンロードされたリソースの数、およびペイロードを調べます。特に問題なければ次に進みます

2)クライアントでない場合、通常はサーバーでの処理時間です。最初に DB にジャンプします。これは、すぐに削除するのが非常に簡単なためです。実行された DB 呼び出しの数を確認し (ステージングまたは開発でプロファイラーを実行)、実行時間の長いクエリ、不足しているインデックスまたは統計があるかどうかを確認し、IO を記録します。すべてが順調であれば、次に進みます

3) アプリのコードを確認します。ビルド プロファイラーや Ants などのプロフェッショナル ツールで VS.NET を使用できます。コードに問題がない場合は、ネットワークまたは外部呼び出しを行い、ネットワーク帯域幅を確認してください。それでも絞り込めない場合は、環境/ハードウェアを確認してください

これに到達する最善の方法は、負荷を適用することです。ab.exe (Apache Web サーバーの一部として提供されます) などの単純なツールを使用して、サーバーで同時ヒットを取得し、アプリ、DB プロファイラーをバックグラウンドで実行して、問題に到達します。

お役に立てれば!

于 2012-09-27T12:55:19.417 に答える