- PR -

何度も同時に処理が走ってしまう

投稿者投稿内容
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-08-25 17:02
引用:

>アクセスログからは多重リクエストが走っていることまでは確認できていて
と自分で言っているのですから、
クライアント側の問題でしょ。


画面のJavaScriptが悪さしているのか、
サーバサイドでのエラーのりダイレクト先が、
同じ処理を行うURIになっているのか、
書き込みだけだと判断つきませんね。。。
KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2008-08-25 19:42
引用:

かつのりさんの書き込み (2008-08-25 17:02) より:
引用:

>アクセスログからは多重リクエストが走っていることまでは確認できていて
と自分で言っているのですから、
クライアント側の問題でしょ。


画面のJavaScriptが悪さしているのか、
サーバサイドでのエラーのりダイレクト先が、
同じ処理を行うURIになっているのか、
書き込みだけだと判断つきませんね。。。



あ・・・
そりゃそうですね。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2008-08-25 21:31
多重リクエストが走る原因はアクセスログやスクリプトからは想像つかなかったでしょうか?

再現する環境と再現しない環境、2つあるとのことですので、この2つの環境の違いのどこかに原因がありそうですね。

まず少しずつ環境を近づけていって再現する、しないのポイントを見極めていってはいかがでしょう。
progman
大ベテラン
会議室デビュー日: 2005/06/08
投稿数: 227
投稿日時: 2008-08-26 10:45
同じような現象で悩んだことはあります。
既にレスもついていますが、FireBugやeclipseのようなデバッガ、burpproxyのような
パケットトレースをつかって、ひとつひとつ動きを追って、とまるべき場所でとまってないことを突き止めることになるかとおもいます。
べんとろえだ
会議室デビュー日: 2006/12/08
投稿数: 10
投稿日時: 2008-08-26 19:25
たくさん書き込みをして頂いているのに、返答が滞って申し訳ありません。

ただ、アドバイスを頂けば頂くほど、私には難しい内容になってきてはいるのですが、私より詳しいメンバもこの件に対応できる状態になりつつありますので、皆様の書き込みを参考に、調査・検証を進めてみます。

ちなみに・・・

・データの違い(接続先DBの違いも含めて、どのデータでも同じ現象が起こる)
・クライアントマシンのOSの違い(開発用マシンから試験用Webサーバにつなぐと現象は起こり、試験用クライアントマシンから開発用マシン(のApache)につなぐと現象はでない)
・プログラムの違い(どのプログラムでも同じ現象が起こる)

など、いろいろ組み合わせて試してみましたが、違いが出るのはWebサーバだけでした。
(どのパタンでも、多重リクエストが走るのは、試験用のWebサーバにつないだときだけで、逆に試験用のサーバにつないでDBロックの待ちを起こすと、100%同じ現象が起こる)

検証が進みましたら、また御報告させていただきます。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2008-08-26 19:52
リクエストが2回行く原因はJavaScriptなりHTMLなりにあるはずです。
試験環境、開発環境それぞれのリクエスト/レスポンスを Wireshark や tcpmon でキャプチャして違いを比べるといいかもしれません。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-08-26 21:29
原因特定に時間がかかるようですと、
どこかで例外を握りつぶしていたりしませんか?

開発環境とは違って、試験環境や本番環境といのは、
非常にデバッグが難しいものです。
軽微な例外でも致命的な例外とは別のログファイルに吐き出すなどして、
より情報量を増やすようにした方がよいでしょう。
削るのは後からでもどうにかなるものです。

ちなみに、WEBサーバとアプリケーションサーバは、
そもそも概念が違うものですが、
開発環境と試験環境で違うのはWEBサーバ(Apache)ですか?
アプリケーションサーバですか?(TomcatやWebLogicなど・・・)
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-08-27 00:50
SUBMIT ボタンのイベントで何か判定して , return true していないと
2重送信されますね。とかって落ちじゃ?・・・
間断無く同一内容のリクエストが投げられます。




スキルアップ/キャリアアップ(JOB@IT)