2012-01-20 13 views
-1

私は、GoogleのアプリケーションエンジンでホストされているJavaベースのWebアプリケーションを使用しています。ユーザーがタイトルを入力したときに書籍を検索するための、Amazon Product and Advertising APIへの簡単なWebサービスコールがあります。私のローカル開発環境ではすべてうまく動作します。しかし、Webサービスの呼び出しは、生産上非常に遅くなります。GAEプロダクションのWebサービスクライアントが遅すぎる

など。私の開発環境でWebサービスコールを呼び出すと、応答を返すのに約3〜4秒かかります。プロダクションでは、同じAPIへの同じ呼び出しに15-16秒かかります。現時点ではデータストアのアクティビティはなく、Webサービスコールのみで結果を表示します。

これは、他の人が生産中のGAEについて話している最初の読み込みの問題ではないと確信しています。負荷がウォームアップしても、一貫して遅くなっています。私はどこでも検索しようとしましたが、誰も同じ問題について不平を言っているようです。誰かがこれが何であるかの手掛かりを持っていますか?この種のパフォーマンス問題に取り組むための良いツールはありますか?ありがとうございました!

ここで私の更新は01/23/2012です。 私はボトルネックを特定しました。Amazonサービスからポートを取得するのに約10秒かかっていました(SOAPベースのWebサービスクライアントを使用していました)。私の解決策は、RESTfulなクライアントを使用することであり、パフォーマンスは大幅に向上します。 Amazonで情報を取得するのに1秒しかかかりません。

+0

ありがとうございます。私は、最初のロードの問題のように、私のdevサーバ上でうまく動作するので、私が何かを見逃してしまったかどうかを確認しようとしていました。私は自分のコードをプロファイルし、何が起こっているのかを見ます。 – jmao

答えて

1

Amazon APIの応答速度は、GAEのパフォーマンスとは関係ありません。

アマゾンがIPあたりのAPIへのアクセスを抑制する可能性があります。 GAEは共通のIPを持つ共有サービスなので、アマゾンに遅れを寄せるよう呼びかけているGAE上の他のアプリがあるかもしれません。これが引き続き問題になる場合は、プロキシサーバーをどこかにセットアップすることができます(Amazon EC2?)。

+0

ご返信ありがとうございます。私はボトルネックを特定しました。Amazonサービス(SOAPベースのWebサービスクライアントを使用していました)からポートを取得するのに約10秒かかります。私の解決策は、RESTfulなクライアントを使用することであり、パフォーマンスは大幅に向上します。 Amazonで情報を取得するのに1秒しかかかりません。 – jmao