2

現在、一連の wcf サービスからデータを読み取る mvc4 アプリケーションを使用しています。現在、ユーザーがページ番号にヒットすると、ページのさまざまな部分のデータを取得するために wcf リクエストがトリガーされます。その性能を向上させたい。

私の考えは、ユーザーがページに到達すると、単一の wcf 呼び出しが行われ、以前に複数の呼び出しが行ったすべての必要なデータを取得し、そこからデータをユーザーの要求 httpcontext に入れるというものです。

これは、名前付きパイプを介した単一のより大きな wcf 呼び出しまたは名前付きパイプの下での複数の小さな呼び出しよりもパフォーマンスを向上させていますか? 大量のデータ セットを httpcontext に入れるとパフォーマンスに影響はありますか?

4

1 に答える 1

1

さらに多くの問題を生み出すことで、1つの問題を解決しようとしていると思います。一度にすべてのデータを照会して httpcontext に保存すると、新しいページを開くときのパフォーマンスが向上しますが、最初にページを開くときはかなり時間がかかります。また、特に一度に多くのユーザーがいる場合、ユーザーごとに httpcontext にデータを保存すると、メモリが不足する可能性があります。

まず、問題を特定し、パフォーマンス低下の根本原因を見つける必要があると思います。クエリであるか、データベース ロックである可能性があります。いずれにせよ、キャッシングは良い考えですが、そのために httpcontext を使用しないでください。ASP.NET キャッシュまたは App Fabric などの分散キャッシュを使用します。これらのツールは多くの組み込み機能を提供し、アプリケーションのスケーリングを容易にします。

それが役に立てば幸い。

于 2012-12-20T10:42:26.730 に答える