お世話になります
公開しているサーバー(Centos 自宅サーバー)がアクセスが困難なほどに重くなるタイミングがあって、ご質問させていただきます
自宅で公開しているサーバーは
ルーター → WEBサーバー → (Mysql, Redisクラスター, MongoDBのレプリカセットのDBサーバー)という構成です
(その他にDNSもあり)
重くなるタイミングは、ルーターからの接続WEBサーバーを別のWEBサーバー(構成管理ツールで作成した同じ機能のWEBサーバー)に切り替えるタイミングで、長くて10分ほどサイトが反応してないのでは?と思われるほどの重さになります
その後時間の経過で重さは解消されます
(再び元のWEBサーバーに戻すと、戻す際に10分ほどサイトが反応しない同様の反応がある)
上記の反応しない時間は、アクセスが多い時間帯のみ発生して(より長く)、アクセスが少ない時間には発生していません(又は重くなるほど発生していない)
時間の経過とともに重さが解消されるので実害はなさそうですが、WEBサーバーに対してロードバランサを使用していたのが上記の問題のために事実上使用不可能になっています(ロードバランサで切り替えるとサイトが継続して反応しないことに)(ロードバランサを使用しないで、ルーターから切り替えても上記の現象は発生)
アクセスが多いタイミングで発生するので長時間の再現をしづらいのも困っている点です(秒間2,3アクセスから)
Muninでチェックしたところ、デフォルトの監視項目では変化した点は特になさそうです
ログをチェックしたところ、Apacheのログ・PHPのエラーログとも通常通りでエラーは出力されていませんでした
ネットワークを切り替えたタイミング(例えばWEBサーバー192.168.0.100からWEBサーバー192.168.0.101)で発生しているのでネットワークの問題だと思っていますが、1週間ほど迷宮をさまよっています
解決方法をぜひお願い致しますm(__)m
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
+1
ネットワークを切り替えたタイミング(例えばWEBサーバー192.168.0.100からWEBサーバー192.168.0.101)で発生しているのでネットワークの問題だと思っています
Webサーバやその先のサーバで何らかの初期化処理が実行されている可能性も
あるのではないでしょうか。
(元のサーバからのredisへの接続が残っていてタイムアウトするまで新しいサーバから接続できないなど。)
Webサーバでの処理時間の情報はないでしょうか?
(Apacheであれば、ログフォーマットに%Dを指定すればアクセスログに出せるはずです。)
遅くなったときのポートのESTABLISHの数などはどうなっていますか?
それから、別の観点ですが、現象が発生しだした頃に、(一週間前でしょうか)
何らかの変更は行っていないですか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
回答レベルのものは提示できないので申し訳ないのですが、
追加情報で、
ルーター(wan)経由だと重くなりローカルネットワークから直接webサーバーにアクセスした場合は通常通りの軽さでした。
とのことですので、ルーターもしくはネットワークの問題のように思います。
現場にいないとちょっと調べようがないのですが、もう少し範囲を絞り込みたいと思います。
(ケース1) ルーターで止まっていて、KVMホスト、仮想マシンに届かない
(ケース2) KVMホストには届くが、仮想マシンに届かない
(ケース3) 仮想マシンには届くが、応答パケットが出ない
(ケース4) 仮想マシンには届き応答するが、応答パケットがルーターで止まる
どのケースか切り分けるため、KVMホストと仮想マシンで tcpdump を取ってみるのはいかがでしょうか。
[root@KVMホスト]# tcpdump -nn -i (ルータ側ブリッジI/F) host (クライアントIP)
[root@仮想マシン]# tcpdump -nn -i (ルータ側I/F) host (クライアントIP)
クライアントからアクセスしてどこまでリクエストパケット、応答パケットが出るか確認します。
(どのケースかわかったからといって、原因のアテはないのですが ...)
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
「構成管理ツールで作成した同じ機能のWEBサーバ」が設定により新・旧のサーバで仮想NICのMACアドレスが同じになっている、という可能性はないでしょうか?
約10分間というのがARPキャッシュ絡みな気がしてなりません。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.23%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
質問への追記・修正、ベストアンサー選択の依頼
tanat
2016/01/05 00:10
重くなるのは動的なコンテンツだけでは無く、静的なコンテンツもでしょうか?
yorksyo
2016/01/05 12:01
静的なコンテンツ(500バイト)で試したところ、通常通りスムーズに表示されました。容量が軽めだったので、明日の早朝のタイミングで再度(100kb程度)の静的コンテンツで時間を比較してみるつもりです
eripong
2016/01/05 16:06
jsも静的なコンテンツだと思うのですが、動的に生成しているのですか?
yorksyo
2016/01/05 18:26
あ、確かにそうですね。jsは静的に作成しているので、静的コンテンツでも時間がかかっています。ご指摘ありがとうございます
TaichiYanagiya
2016/01/07 00:14
切り替え後、ルーターを経由した場合と、ローカルネットワークから直接 Webサーバーにアクセスした場合で違いはありませんでしょうか。前者のみ遅いのであれば、ルーターの性能(コネクション数など)に原因があるのではないかと思います。
yorksyo
2016/01/07 09:58
今朝試したところ、ルーター(wan)経由だと重くなりローカルネットワークから直接webサーバーにアクセスした場合は通常通りの軽さでした。確かにルーターが怪しいですね。ありがとうございます
eripong
2016/01/07 10:03
そうですね。そうすると何故Apacheのログでも遅くなっていたのでしょうね。
yorksyo
2016/01/07 10:09
ルーターは、市販のもので(NECのAterm WR9500N)munin監視対象から外れている一方、設定の変更等も触ってませんので(ポートマッピングのみ)一週間前から重くなった原因としては不思議でもあります
yorksyo
2016/01/07 10:16
LVS(ロードバランサ)を使用していた際も、DSR(Direct Server Return)方式を利用していたので、データを返す際には個々のwebサーバーから直接ルーターに値を渡してクライアントに返していました。その点は、ルーターが原因との考え方に反さないかと思っています
TaichiYanagiya
2016/01/07 10:28
ルーターもしくはネットワークの問題のように思います。
WebサーバーのIPアドレスが同じであれば、ARP まわりの問題も考えられますが、IPアドレスは別なのですね。
KVM の 192.168.200, 192.168.0 のネットワークはブリッジにしているのでしょうか?
yorksyo
2016/01/07 10:40
WebサーバーのIPアドレスは異なるものにしています。またKVMのネットワークはブリッジにしています。よろしくお願いします
eripong
2016/01/07 10:42 編集
ここでやりとりすると後で参照しにくいので、TaichiYanagiyaさんが回答をつけてはいかがでしょうか?