私はasp .netウェブページ(MVC)に10,000の製品を表示しています。メソッド内で複数のサービスを呼び出す。それを効果的に行うには?
これは私が使用している方法です。この方法では、外部Webサービスを20回呼び出す必要があります。これは、Webサービスが一度に500データを提供するため、10000データを取得するために、私はそのサービスを20回呼び出す必要があるからです。
20コールによってページの読み込みが遅くなります。今私はパフォーマンスを向上させる必要があります。 Webサービスは外部的なので変更を加えることはできません。
スレッディングは私が考えたオプションです。ページ番号(サービスはデータのページング)を使用できるので、各サービス呼び出しはほとんど独立しています。
もう1つのオプションは、並列linqを使用しています。
並列linqを使用するか、スレッディングを選択する必要がありますか?
私をここで案内してください。または、これを達成する別の方法を教えてください。
注:このWebページは、一度に多くのユーザーが使用できます。
ページの左側にフィルタがあります。フィルタを構成するには10,000個のデータがすべて必要です。それ以外のページ単位の情報は十分である可能性があります。サーバー上の巨大なオーバーロードのためキャッシングはできません。一度に400-1000のユーザーがserver.webサービスの応答時間を10秒に達することができるので、私たちは何度もヒットすることができます。
すべてのデータを取得するには20回のサービスが必要です。そのヒット。スレッディングは唯一の選択肢ですか?
で並列処理は、あなたを助けにはなりません。それはあなたがすぐに10.000の製品をすべて必要とすることは、非常に狂ったように聞こえる。既に@starskythehutchに言及されているように、あなたはある種のキャッシュメカニズムを実装することになるでしょう。 – ebb