2009-04-01 11 views
12

私は、WebLogic Server v10で動作するStrutsベースのアプリケーションへのAjax呼び出しを行うInternet Explorerで動作するjavascriptを使用するアプリケーション(私の会社の内部)を継承しました。何がHTTP 503を発生させ、タイムアウトを変更するのですか?

システム内の特定のサーバー側操作に3分以上かかることがあります。ユーザーは、Ajaxコールが3分で503エラーを返すことに一貫して気付いた。私のユーザーは3分以上待つことができますが、503エラーが作業を中断します。

このアプリケーションのパフォーマンスは調整する必要がありますが、503エラーが返されるまでにどのくらいの時間がかかるかを一時的に回避する必要があります。

現在の理論では、IE XMLHttpRequestオブジェクトによって503エラーが発生しています。 WebLogicの有力な専門家チームが、コードとWebLogicのログを流し、サーバー側でタイムアウトが発生しないと宣言しました。しかし、私は疑問を持っています。

私の質問は、ブラウザ、Ajaxのjavascript、またはサーバーの503エラーを発生させる原因となるソフトウェアはどれですか?そして、このタイムアウト期間は変更できますか?

+0

この古い質問をフォローアップしてみましょう...私のケースでは、これは、あまりにも長くチューニングされたサーバーコードの応答が遅すぎるために発生しました。 30秒未満(少なくとも)に応答を取得すると、この症状は消えてしまいました。 どのソフトウェアが503を引き上げているのか、タイムアウトを変更する方法がわからないので、私はこの質問を開いたままにしておきます。 –

+0

この質問の文言は完璧でした!素晴らしい質問のおかげで非常に遅れました。これらは、必要な種類の質問です – thedouglenz

答えて

2

Webサーバーには長時間実行されているサービス要求によってトリップされている要求応答タイムアウトがあります。これは、WebLogicサーバーまたはプロキシである可能性があります。それは確かにクライアントではありません。

すぐに応答する非同期HTTPリクエストを送信し、最終結果が得られるように別の場所をポーリングすると考えましたか? 3分は長すぎる約170秒です。

4

503エラーは、多くの異なるタイプのエラー(通常はサーバー側)の一種です。あなたのケースでは、サーバーが一定のタイムアウト後に接続を拒否し、503で応答して、サーバーが過負荷になっているか、要求を処理できないことを示している可能性があります。

Webサービスでは、サーバーコードが例外またはエラーをスローすると、503が返されます。サーバコードが正しくエラーを処理しない場合、それだけで、一般的な503

http://www.checkupdown.com/status/E503.html

Error code 5xx (alternate definition)

RFC 2616

3

503に戻って応答するサーバにアップバブル、意志サーバーエラーです。 XMLHttpRequestは3分以上も喜んで待ちます。あなたがすべき最初のことは、telnetやnetcatなどで問題のURLにアクセスして、503をjavascriptで見て、自分自身を満足させることです。

次に、サーバー側でタイムアウトを見つけることができます。

1

503は、おそらくサーバー上のタイムアウトが原因です。 Apacheサーバーを調整できる場合は、httpd.confで設定できるTimeout属性について読んでください。 httpd/logs/error_logを見て、タイムアウトが発生しているかどうか確認してください。 この回答も参照してください:Mod cluster proxy timeout in apache error logs

関連する問題