お世話になります。
現在、php等でwebシステムを作成しております。
ローカルネットワーク内にサーバをたて、そこに接続して開発を行っているのですが、javascript処理やAjax処理を多数使用しているページを何回か読み込むと、cssが崩れ、Ajax関連のレスポンスがないといったエラーが頻発していしまいます。
Fiddlerでエラーを確認してみたのですが、502エラーとなっており、画像読み込み時のでエラーが多いようです。
また、直接関係するかどうかはわからないのですが、「通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。」といったエラーが出力されていました。
開発環境は以下の通りです。
Centos5.5
apche2.2.3
PHP5.3.5
考えられることは調べてみたのですが、手詰まりしていました。
対応策等おわかりの方がいらっしゃいましたら、ご教授の程をお願いしたいと思います。
お手数おかけ致しますが、宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
No.2です。
apacheのログを見てみて、接続数に引っかかっているようであれば要変更です。
この辺のサイトはいかがでしょう。
http://shoulder.jp/archives/006925.php
プログラム的な改善方法としては、Ajaxの処理を減らすというより、
Ajaxの「リクエスト数」を減らす必要があります。
処理ごとにAjaxでデータを引っ張るよりは、出来る限り一度で必要なデータを全部取得して、
Javascript側で成形して必要なデータを取得する方が安定します。
また、クライアント側(ブラウザ側)にも同時接続数制限が存在したと思いますので、
その辺りも注意する必要があるはずです。
基本はAjaxは同時に2つまでしか動かないようにすれば大丈夫だと思います。
また、jQueryとかの機能を使う場合は意識しなくてもうまい具合にやってくれたはずです。
そんな感じで如何でしょうか。
ご回答有難うございます。
現在Linuxのカーネルの設定などを行っていたのですが、やはりソースの見直しを行った方が良さそうですね。
また、apacheの設定などはデフォルトのままのものが多かったので、その方向からも少し調べてみたいと思います。
お忙しい中ご回答いただきまして、本当に有難うございました。
No.2
- 回答日時:
この内容だけで「これだ!」っていう回答は難しいかと思いますが、
以下の点は確認されているでしょうか。
cookieやキャッシュを毎回クリアしても同じ現象が起きますか?
⇒ cookieであれこれやっていると、再読み込み時に前のデータが悪さをしてどうこう、みたいな事があると思いますが、その辺はどうでしょう。
apacheのコネクションが全てタイムアウトして消えるまで待ってからやっても同じ現象が起きますか?
⇒ apacheの設定では同時接続数とか設定できたはずですが、Ajaxを多用すると意図せずコネクション数を大量に占有してしまう事があります。サーバ側で「netstat」とかで確認してみては如何でしょう。
そのシステムはサーバ何台構成ですか?
⇒ 複数台構成のシステムの場合、負荷テストをするとサーバ間連携がうまくいかない、なんてこともあります。PHP、CSS、JS、DB等は全て1台に乗せているという状態であれば気にする必要はありません。
以上、ご参考になれば幸いです。
この回答への補足
ご回答有難うございます。
>cookieやキャッシュを毎回クリアしても同じ現象が起きますか?
現状、IEの設定でクッキーやキャッシュはページを読み込む毎に新しく確認するような設定にしておりますので、問題はないかと思われます。
>そのシステムはサーバ何台構成ですか?
PHP、CSS、Javascriptに関しては同じサーバを使用しておりますが、DBサーバのみ、別サーバを使用しております。
>apacheのコネクションが全てタイムアウトして消えるまで待ってからやっても同じ現象が起きますか?
これかもしれません。
サーバで「netstat」コマンドを実行したところ、TIME_WAITが複数ありました。
対策としては、コネクションの最大数を増やすか、Ajaxで記述している処理をサーバ側の処理に書きかえるかといった対応の仕方になるのでしょうか?
お手数おかけして申し訳ありませんが、宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 特定ウインドウ...
-
PDFを(htmlのように)無限に縦...
-
VBAでクイズゲームの作り方
-
GASでスプレッドシートの一番上...
-
正規表現で、特定の文字列を含...
-
jQueryを使いformでsubmitした...
-
スライドを最後の画像で止めたい
-
C言語のflagの使い方が分かりま...
-
VBA コンボボックスの値をスピ...
-
二つのbxsliderをレスポンシブ...
-
画像のドットの部分が抜けてい...
-
PYTHONのtkinterについて
-
ワードでA3横の画面にして、文...
-
jQuery を外部ファイルから呼び...
-
要素内を常に一番下を表示させたい
-
Ajaxでのチャットについて教え...
-
jQueryで入力テキスト付きのモ...
-
jQuery3 reset()が効かない。
-
以下のURL入れますか?皆さんは↓
-
Chinapost こよパズルどう動か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ajaxでhtmlを返して画面に描画…...
-
ajaxによるcsvデータの絞り込み...
-
【Ajax】改行を含めたデータを...
-
jQueryの$.postの戻り値による...
-
Rを使う際、データを読み込む時...
-
セレクトボックスのHTMLを教え...
-
AjaxでDBと連携した動的リスト...
-
innerHTMLで表示完了後に、Ajax...
-
データ受け渡しについて
-
カーソルの動きに合わせてDBか...
-
HTMLでリアルタイムグラフを作...
-
ローカルネットワーク内での502...
-
Ajax、PHP、MySQLでDBからデー...
-
jquery serializable値取得
-
【JavaScript】confirmのボタン...
-
DirectXとOpenGLはどちらが動作...
-
ASP.NET(VB)VBソースからJavas...
-
saved from url=(0013)abou
-
JSTLを利用してJavascriptの結...
-
[JavaScript] preven...
おすすめ情報