質問

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

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

しかし、最近、さまざまなタイミングで速度の低下に気づき始めたので、アプリケーションの使用によってサーバーが過負荷になっているかどうか、またはアプリケーションを修正するために何かをする必要があるかどうかを判断する最善の方法は何だろうと考えていました(私はそうしません)単にボックスに期待しすぎる場合は、小さな最適化を探すのに多くの時間を費やしたいと考えています)。

役に立ちましたか?

解決

必要なのは、次の情報です キャパシティプランニング..

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

他のヒント

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

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

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

要求/秒、RAM、CPU、セッションなどを測定します。

キャッシュ戦略 (出力キャッシュ、データ キャッシュ、依存関係のキャッシュなど) を考え出すこともできます。

SQL Server の動作状況も確認してください...インデックスから始めるのは良いことですが、注目すべきはそれだけではありません。

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

すべての詳細を知らないまま、私はこう言います いいえ, 、サーバーを追加してもパフォーマンスの向上は見られません。

ちなみに、使っていない場合は、 出力キャッシュ, 、そこから始めます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top