1

このオンライン ストアは、C#、MVC3、DI 用の StructureMap、リアルタイム通知用の SignalR、およびメンバー ログイン用の FBConnect の言語/テクノロジで構築されています。

Core2 Quad CPU @ 2.40GHz と 8GB の RAM を搭載した専用サーバーでこのサイトを実行していますが、多くのユーザーがサイトにアクセスしている場合でも、CPU 使用率は 60 ~ 80% に達します。サイトはデータベースから写真を読み込んでいますが、これは問題ではないと思います。以前の投稿 @ MVC3 で見ることができるこれらの写真のキャッシュを既に実装しているためです + データベースからの画像のストリーミングにより、CPU 使用率が非常に高くなります私のサーバーで。ページを変更して、最初に 20 枚の写真を読み込み、ユーザーがページの一番下までスクロールしたときにのみ追加の写真を読み込むようにしました。

これについて、.net 開発者でもある友人と話し合ったところ、役立つかもしれないので、おそらくセッション状態モードについて調査する必要があるとのことでした。私のサイトのセッション状態に関しては何も変更していないので、デフォルトの InProc を使用しています。

私の質問は次のとおりです。大量のトラフィックを処理できる、使用するのに最適なセッション状態モードは何ですか? サイトのパフォーマンスは向上しますか?

サイトがどのように多くのユーザーを獲得しているかの写真を提供するために、以下にその仕組みを示します: 1. 販売商品の写真は、売り手によってアルバムに投稿されます (写真/アルバムの最大数は 200 で、20 代までに読み込まれます)。2.最初にコメント/予約をして頂いた方が落札者となります。3.その後、売り手はコメント/予約を最初の買い手に確認します。

このサイトには 1000 人を超えるユーザーがおり、このユーザーの少なくとも 80% が同時にサイトにアクセスしています。

デフォルトの InProc を使用しても問題ありませんか? または、StateServer または SQLServer モードを使用する必要がありますか?

ありがとう

4

3 に答える 3

2

これは問題ではないと思います [...]

あなたは推測しています。あなたが推測している限り、パフォーマンスの問題を処理することはできません (問題であると仮定します: 以下を参照してください)。

を測定する必要があります。ミニプロファイラーなどを使用して、何が時間を取っているかを正確に判断します。

しかし:

CPU使用率はまだ60〜80%に達しています

サイトが遅くなりますか?リクエストはキューに入っていますか? ユーザーはサイトが遅いと感じていますか?

このレベルの CPU 使用率は、取得しているリクエストの割合としては非常に正常な場合があります。

于 2012-06-19T15:05:44.527 に答える
1

私の意見では、同じサーバーにアクセスする800人のユーザーはそれほど軽くはありません。

Sessionstateはそれとは何の関係もありません。

データベースから画像を読み込んで、キャッシュに保持しています。キャッシュには何枚の画像がありますか?画像あたり100KB?5万枚以上?

キャッシュにあるもの(画像だけでなく!)が多すぎる場合、ASP.NETはキャッシュにあるものを自動的に破棄します(重要度に応じて)。その時点で、アプリケーションは常に新しいものをキャッシュに入れ、挿入直後に消去されます。これは、画像がキャッシュにない場合と同じです。

とにかく、これはまだ当てはまらないかもしれないと思います。なぜなら、実際に800人のユーザーが同時に同じサーバーにアクセスしている場合、それは多くのことだからです。

@Richardに同意します。ミニプロファイラーのようなものを使用してください。

于 2012-06-19T15:16:02.500 に答える
1

別のサーバーを使用してセッションを保存すると、プライマリ サーバーでのセッション管理の負荷が軽減されますが、他のサーバーでセッションを読み書きするときにネットワーク オーバーヘッドが発生します。

SQLServer モードを使用することは、特に、誰が最初にアイテムをコメント/予約したかについて何らかの論争がある場合に備えて、セッションの「ハード」コピーを持つという利点があるため、あなたの場合に最適なオプションだと思います。

既に SQL を使用してイメージをロードしているのですから、もう 1 つやるべきことをやってみませんか?

何か見落としがある場合は、コミュニティに指摘させます。

于 2012-06-19T15:05:28.057 に答える