- - PR -
何度も同時に処理が走ってしまう
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-25 17:02
画面のJavaScriptが悪さしているのか、 サーバサイドでのエラーのりダイレクト先が、 同じ処理を行うURIになっているのか、 書き込みだけだと判断つきませんね。。。 | ||||||||
|
投稿日時: 2008-08-25 19:42
あ・・・ そりゃそうですね。 | ||||||||
|
投稿日時: 2008-08-25 21:31
多重リクエストが走る原因はアクセスログやスクリプトからは想像つかなかったでしょうか?
再現する環境と再現しない環境、2つあるとのことですので、この2つの環境の違いのどこかに原因がありそうですね。 まず少しずつ環境を近づけていって再現する、しないのポイントを見極めていってはいかがでしょう。 | ||||||||
|
投稿日時: 2008-08-26 10:45
同じような現象で悩んだことはあります。
既にレスもついていますが、FireBugやeclipseのようなデバッガ、burpproxyのような パケットトレースをつかって、ひとつひとつ動きを追って、とまるべき場所でとまってないことを突き止めることになるかとおもいます。 | ||||||||
|
投稿日時: 2008-08-26 19:25
たくさん書き込みをして頂いているのに、返答が滞って申し訳ありません。
ただ、アドバイスを頂けば頂くほど、私には難しい内容になってきてはいるのですが、私より詳しいメンバもこの件に対応できる状態になりつつありますので、皆様の書き込みを参考に、調査・検証を進めてみます。 ちなみに・・・ ・データの違い(接続先DBの違いも含めて、どのデータでも同じ現象が起こる) ・クライアントマシンのOSの違い(開発用マシンから試験用Webサーバにつなぐと現象は起こり、試験用クライアントマシンから開発用マシン(のApache)につなぐと現象はでない) ・プログラムの違い(どのプログラムでも同じ現象が起こる) など、いろいろ組み合わせて試してみましたが、違いが出るのはWebサーバだけでした。 (どのパタンでも、多重リクエストが走るのは、試験用のWebサーバにつないだときだけで、逆に試験用のサーバにつないでDBロックの待ちを起こすと、100%同じ現象が起こる) 検証が進みましたら、また御報告させていただきます。 | ||||||||
|
投稿日時: 2008-08-26 19:52
リクエストが2回行く原因はJavaScriptなりHTMLなりにあるはずです。
試験環境、開発環境それぞれのリクエスト/レスポンスを Wireshark や tcpmon でキャプチャして違いを比べるといいかもしれません。 | ||||||||
|
投稿日時: 2008-08-26 21:29
原因特定に時間がかかるようですと、
どこかで例外を握りつぶしていたりしませんか? 開発環境とは違って、試験環境や本番環境といのは、 非常にデバッグが難しいものです。 軽微な例外でも致命的な例外とは別のログファイルに吐き出すなどして、 より情報量を増やすようにした方がよいでしょう。 削るのは後からでもどうにかなるものです。 ちなみに、WEBサーバとアプリケーションサーバは、 そもそも概念が違うものですが、 開発環境と試験環境で違うのはWEBサーバ(Apache)ですか? アプリケーションサーバですか?(TomcatやWebLogicなど・・・) | ||||||||
|
投稿日時: 2008-08-27 00:50
SUBMIT ボタンのイベントで何か判定して , return true していないと
2重送信されますね。とかって落ちじゃ?・・・ 間断無く同一内容のリクエストが投げられます。 |