
PHPでフレームワークのCAKEを使ってWebシステムを作っているのですが、どうしてもわからない点があるので、ご教授頂きたく質問させていただきました。
現在Webサーバ2台とDBサーバ1台であるサービスを運営しています。
Webサーバはロードバランサで負荷分散をしています。
画面上でどうしても重たい処理をする必要があり、実行しているのですが、リクエストが10回飛びデータが10個登録されるという不思議な現象が起こっており対応に困っています。
開発用にWebとDBが一緒の開発用サーバもあります。やったことは
1.開発用のサーバで同じデータ、同じ処理を実行
リクエストは1回でデータも1個登録
apacheのアクセルログにも1回アクセスされている
2.運営用のサーバで同じ処理だが、データ量を減らして実行
リクエストは1回でデータも1個登録
apacheのアクセルログにも1回アクセスされている
3.運営用のサーバで同じデータ、同じ処理をIPアドレスを指定して実行
リクエストは1回でデータも1個登録
apacheのアクセルログにも1回アクセスされている
4.運営用のサーバで同じデータ、同じ処理を実行
リクエストは10回でデータも10個登録
apacheのアクセルログにも10回アクセスされている
以上の結果からロードバランサで何かしらのことがされているのかと思い、サーバ会社に問い合わせてみたのですが、「そんなことはない」との回答でした。
他に何をどう調べたらいいのかもわからず、かなり手詰まりなかんじです。
手がかり、確認内容などなんでもいいので、ご教授頂けないでしょうか。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
とりあえず、クライアント側の通信内容を見てみてはどうでしょう。
リクエストは以下の順で流れます。
ブラウザなどクライアント → ロードバランサ → Apache → PHP
クライアントが 1回リクエストを送って、Apacheに 10回くるなら、
ロードバランサが悪さをしてる可能性が高いです。
クライアントが PCのブラウザなら、
FireFox の LiveHttpHeaders という AddOn で簡単な通信内容がみれます。
他にはWireSharkなどのパケット監視ツールも使えます。
もしブラウザが 10回リクエストを送っているなら、
ロードバランサはたぶん関係ありません。
その場合はブラウザのレスポンスも見ます。
リクエスト1 → レスポンス1 → リクエスト2 → レスポンス2→...
のようにレスポンス取得完了後に、次のリクエストを送っているなら、
サーバー側が再通信させるレスポンスを返しているのではないでしょうか。
リクエスト1 → リクエスト2 → レスポンス1 → レスポンス2→...
のようにレスポンスが完了する前に次のリクエストを送っていれば、
サーバー側は関係なく、クライアント側が連続リクエストしていることになるので、
JavaScriptやブラウザの問題だと思います。
参考になるか分かりませんが、私が以前経験した似たようなケースで、
登録データが多すぎる → 通信に時間がかかりすぎてタイムアウト → クライアントの機能で通信自動リトライ
結果、何度もリクエストしてデータが重複登録される、ということがありました。
ご回答ありがとうございます。
レスポンス情報をみてましたら、リクエスト1 → リクエスト2 → レスポンス1 → レスポンス2のような感じでリクエストが送られているようです。
ブラウザはfirefoxに関係なくIEやChromeでも同様の検証なので、ブラウザは関係ないと思います。
javaScriptでは特に怪しそうな動作はしていないので、何か他に原因があるかと思いますので、もう少し探ってみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- サーバー ファイルサーバのデータのバックアップ 1 2023/03/15 10:30
- Windows 10 だいたいの能力はどのくらいでしょうか 3 2023/03/05 17:18
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- サーバー Windows Server 2019 CALについて 3 2022/04/02 16:40
- VPN DNS「8.8.8.8」とは何なのでしょうか? 固定 IP アドレスで光回線の代わりに使えますか? 4 2022/10/17 16:30
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IISのログに出力される「GET」...
-
ログとダンプの違いって・・・
-
audit.logの見かたについて
-
外付けHDDへのアクセスログを取...
-
DISMのログを見る方法を教えて...
-
フォルダを移動した犯人は誰?
-
ユーザアカウント等の管理にお...
-
TeraTermのログが正しく取得出...
-
Webで重い処理をするとリクエス...
-
アドレスの前にwwwの他にw...
-
ドメイン環境でのサーバとクラ...
-
ファイルサーバとFTPサーバの違...
-
インターネット時刻にあわせら...
-
IISで好みのドメイン名をつ...
-
DNSサーバの負荷試験ツールにつ...
-
アドレスバーにIPアドレスを入...
-
AD環境でのクライアント時刻同期
-
パイプが切断されました
-
snmpを使用してスイッチのログ...
-
メールソフトの互換性について(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォルダを移動した犯人は誰?
-
VLOG
-
IISのログに出力される「GET」...
-
ログとダンプの違いって・・・
-
TeraTermのログが正しく取得出...
-
外付けHDDへのアクセスログを取...
-
Cosminexusのログエージェント...
-
USBを刺した記録を消す方法
-
Webで重い処理をするとリクエス...
-
Winでいうイベントビューアって...
-
Windowsのシステムログをsyslog...
-
Apacheのログ出力方法とローテ...
-
ユーザアカウント等の管理にお...
-
固定ではないはずなのにIPアド...
-
Active Directory のログについて
-
ホームページをアップした時の...
-
ログハウスとかで木の壁を作る際
-
サーバ障害の原因が特定できません
-
Windows 2003でログ管理
-
WebCasterV110 (16進数)ログの...
おすすめ情報