1

シナリオ: ASP.NET MVC Web アプリケーションは、2 年分のデータを要求する Java Web サービスを呼び出します。以下は、Web サービスからの応答のサイズです。

Request Count:   1
Bytes Sent:      937        (headers:396; body:541)
Bytes Received:  689,300        (headers:338; body:688,962)

これには約 2 分かかります。これにより、ASP.NET の実行が遅くなり、結果としてユーザーの不満が生じます。Java 担当者と話をしたところ、パフォーマンスを最適化するために最善を尽くしてくれました。

サードパーティへの Web サービス呼び出しを最適化する最善の方法を教えてください。以下は私がやったことのリストであり、助けにはなりませんでした:

  1. ASYC 呼び出しを使用して、2 年間のデータをそれぞれ 1 年間に分割します。
  2. ペイロードが小さくなるように、メッセージのサイズを小さくするよう Java 関係者に依頼しました。

それでも性能は上がらない。

単純に 2 年間のデータを要求してキャッシュに入力する非同期 VOID メソッドを作成した場合、これは機能しますか? 主な関心事は、ログイン プロセスがこの VOID メソッドが完了するまで待機する必要があるかどうかです。

4

1 に答える 1

1

この種の問題は、リモートからデバッグするのは簡単ではありませんが、最初に、ほとんどの時間を失うところから測定を開始する必要があります。処理中のJavaサービスへの呼び出しでしょうか。コードやログにパフォーマンス カウンターを追加して、どこが最も改善されるかを確認します。次に、Web サービス呼び出しなどの部分をスタブと交換して、パフォーマンスが向上するかどうかを確認できます。これで、パフォーマンスを変更する必要がある場所がわかりました。

于 2012-11-26T09:32:10.673 に答える