8

1 つの Web サーバーで処理できるトラフィックの量は? 私たちがそれを超えているかどうかを確認する最良の方法は何ですか?

数百人のユーザーを持つ ASP.Net アプリケーションがあります。その側面はかなりプロセッサを集中的に使用しますが、これまでのところ、SqlServer とサイトの両方を実行するサーバーが 1 つだけで問題ありませんでした。Windows Server 2003、3.4 GHz、3.5 GB の RAM を実行しています。

しかし、最近、私はさまざまな時期に速度低下に気付き始めました.アプリケーションの使用によってサーバーが過負荷になっているのか、それともアプリケーションを修正するために何かをする必要があるのか​​ を判断する最良の方法は何だろうと思っていました.ボックスに期待しすぎている場合は、小さな最適化を探すのに本当に多くの時間を費やしたいと思います)。

4

4 に答える 4

7

必要なのは、キャパシティプランニングに関する情報です。

キャパシティプランニングは、システムとアプリケーションのキャパシティ要件を満たすために、成長を計画し、ピーク使用期間を予測するプロセスです。これには、負荷がかかった状態でのアプリケーションのリソース使用率とトランザクションスループットを確立するための広範なパフォーマンステストが含まれます。まず、サイトが現在受け取っている訪問者の数と、各ユーザーがサーバーにどれだけの需要を置いているかを測定し、次に、現在および将来をサポートするために必要なコンピューティングリソース(CPU、RAM、ディスクスペース、およびネットワーク帯域幅)を計算します。使用レベル。

于 2008-09-12T23:31:14.640 に答える
1

一部のプロファイリングツール(VisualStudioのTeamSuiteエディションのツールなど)にアクセスできる場合は、テストサーバーをセットアップし、それに対していくつかの合成要求を実行して、コードの特定の部分に不当に時間がかかるかどうかを確認できます。走る。これを行う前に、CPUとメモリの使用量のグラフを時系列でチェックして、それが可能かどうかを確認する必要があります。(UNIXの「負荷平均」に似た数値が有用なメトリックになる可能性があります。Windowsにそのような数値があるかどうかはわかりません。基本的に、タイムスライスごとにCPU時間を必要とするスレッドの平均数です。)

また、帯域幅が不足していないことを確認してください。

于 2008-09-12T23:35:08.327 に答える
1

測定、測定、測定。リコ・マリアーニはいつもこれを言います、そして彼は正しいです。

req / sec、RAM、CPU、セッションなどを測定します。

キャッシング戦略(出力キャッシング、データキャッシング、キャッシング依存関係など)を思い付く場合があります。

SQL Serverの動作も参照してください...インデックスは開始するのに適した場所ですが、確認するのは唯一のことではありません。

于 2009-01-29T01:09:09.807 に答える
0

そのハードウェアでは、.NET アプリケーションは 1 秒あたり約 200 ~ 400 の要求を処理できるはずです。ユーザーが数百人しかいない場合、1 秒あたり 2 つのリクエストも表示されないので、SQL サーバーが実行されていても、そのボックスには十分な容量があると思います。

すべての詳細を知らなければ、サーバーを追加してもパフォーマンスは向上しません

ちなみに、Output Cacheを使用していない場合は、そこから始めます。

于 2008-09-13T02:50:17.547 に答える