2011-06-21 26 views
1

私たちはASP.NETアプリケーションを実行していますが、トラフィックが増えてユーザーへの応答時間が遅くなりました。私たちはアプリケーションとデータベースを最適化しましたが、依然として望ましい応答時間が達成されていません。私たちはASP.NETキャッシュを試しましたが、どちらも役に立ちませんでした。私が試すことができる他の選択肢は何ですか?私は将来、より多くのトラフィックを処理できるはずのスケーラブルなソリューションを探しています。パフォーマンスの問題

+1

複数のサーバーに移動しますか? –

+1

Webサーバーハードウェアリソースの最適な機能から期待される出力を得るには、Webサーバーのハードウェアリソースを要求の数と比較して考慮しましたか?例:余分なRAMを置くことは、パフォーマンスカウンターなどを使って事前に研究を行う方法を選択するのに適しているかもしれません。 – DSharper

答えて

3

問題は、データベース上にある場合 - その後、あなたがより良い最適化する必要がある、より良いハードウェア、DBA分析など

問題は、あなたが正確どこをプロファイリングし、を把握する必要が遅いWebアプリケーションであれば遅さが起こっている。これはここでの質問をあいまいにしています。 ANTSプロフィールをダウンロードするか、独自のトレース出力を作成してください(あなたのIMHOは簡単です)、あなたのアプリが減速している場所を確認してください。セッションロック、データベース、linqクエリの実行時間と時間(たとえば、query.Count()を呼び出すと、毎回クエリが再実行されます)など。

あなたのviewstateのサイズを確認してください。ページサイズ、最初のバイトまでの時間などを調べる

これはあいまいな質問ですが、これは基本的な項目です。

これ以上の情報が必要ですが、これが始まるはずです。

+0

あなたの答えは「アップグレードしていますか?あなたのドライブはクラスタサイズで最適化されていますか?あなたのファイルグループは、読み込み/書き込みなどのために最適化されていますか?しかし、あなたは、SQL Serverにセッションを格納していると言います。これは、すべてのリクエストがデータベースのオーバーヘッドを持つ可能性があるため、ここでヒットします。州のサーバーは以下のように少し助けてください:http://www.codeproject.com/KB/aspnet/p2pstateserver.aspxそうしていればあなたの問題は他の場所にある可能性があります。いくつかのコントロールのviewstateを無効にして、テストなどのキャッシュからデータを再バインドしないでください(またはすべてを無効にしてください) –

0

私はあなたが巨大なデータを読み込まれますGridViewsの多くを持つかもしれないViewStateの

に関してで@AdamTuliperの答えを重視したいと思います。 必須でない場合は、ViewStateをオフにすることを検討してください。意味:グリッドビューと対話しない(行の選択、更新など)場合、グリッドビューはサーバーとクライアントの間を行き来する必要はありません。

しかし、そうでない場合は、ヘルプを提供するためにさらに詳しい情報が必要になります。

+0

ハードウェアを最新のテクノロジにアップグレードしました。私たちはMSSQLサーバーにセッションを保存していますが、最初のボトルネックはスケーラブルではないようなSQLサーバーだと思います。 SQLサーバーでいくつかのテストを行い、ユーザー数が15000を超えると問題が発生します。セッションステートサーバを試しましたが、それは助けになりません 私たちのアプリの一部はViewStateを大量に使用しており、VSサイズを縮小しようとしていますが、それは可能なことです。大規模なVSをASP.NETレスポンスではなくローカルのキャッシュに保存するカスタムVSストアを作成しようとしています – Ravian

1

Asp.netキャッシュ自体には、いくつかの制限とパフォーマンスの問題があります。それはin-procであるため、スケーラブルなアプリケーションにはなりません。しかし、スケーラビリティが大きな問題であれば、分散キャッシングを実装する必要があります。分散キャッシュは、アプリケーションの拡張性を高めます。基本的に、メモリ内分散キャッシュは、キャッシュを複数のサーバーにまたがって拡張できるようにする、キャッシュの一種です。また、アーキテクチャのために非常に拡張性があります。これは複数のサーバーにまたがって動作しますが、1つのキャッシュを論理的に見ることができます。私はむしろ私の経験のためにあなたにNCacheを提案したいと思います。詳細はこの記事 “improve asp.net app performance and scalability”を参照してください。それはあなたを助けてくれるでしょう。

+0

Thanks Nelly、私たちは既にNCacheと他のサードパーティのキャッシュプロバイダを評価しています。 – Ravian

関連する問題