1

最近、ASP.NET のメモリの問題が気になります。

私は非常に多くの記事を読み、1 つのスレッドを作成し、プロファイラーを使用してアプリケーションを最適化しました。また、プライベート バイト、仮想バイト、およびワーキング セットの違いに関する記事を読んだところです。

したがって、プライベート バイトはメモリの実際の使用量を判断する方法としては不十分であることを理解しています。ただし、アプリケーションのメモリ使用量を詳しく理解したいので、少し試してみます。

現在、常に 55 ~ 60 MB のプライベート バイトを使用しています。サイトで 2,000 人のユーザーを同時に実行したい場合、60MB*2000 = 120GB の RAM が必要ということですか?

誰かが来て、私が完全に間違っていて、気が狂っていると言ってくれることを真剣に願っています! :)

私はまた、機能が非常に限定された非常に基本的なサイトをテストしました.40-45MBのプライベートバイトを使用していましたが、これもかなり多くのようでした.

4

2 に答える 2

1

いいえ; メモリ使用量は、ユーザー数に比例しません。

ほとんどのメモリは、すべてのユーザー (特にバイトコード) で共有されます (または共有する必要があります)。追加の各ユーザーが使用するメモリの量はかなり少なくなります。

また、2,000 人のユーザーがいる場合でも、同時に 2,000 のリクエストを受け取ることはありません。
ユーザーごとの唯一の永続的なオーバーヘッドは、各アクティブユーザーのセッション状態です。

于 2011-01-17T00:33:36.543 に答える
0

ASP.net には、コンピューター上の他のアプリケーションと同様に、ある程度のオーバーヘッドがあります。この基本量は、使用されているメモリのほとんどを占めます。

セッション/ユーザーごとに必要なRAMの量などについては、アプリケーションの設計に非常に偏っています。

于 2011-01-17T00:33:20.507 に答える