このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

MySQLの接続が不安定です このメッセージに返信する
日時: 2011/02/28 14:49
名前: トキワ
URL:

CentOS5.5
Apache2.2
PHP5.2
MySQL5.1


現在、Poundを使用し2台のサーバで負荷分散したWebサーバを運営しています
大よそ以下の様な構成で、正常動作しています。

[現状の構成]
sv01 … Apache、Pound(ゲートウェイ兼)
sv02 … Apache、MySQLサーバ


ちなみにCMSとしてWordPressを導入しています。
アクセスが増えてきたので、この構成に更に2台のWebサーバを追加しました。

[増設後の構成]
sv01 … Apache、Pound(ゲートウェイ兼)
sv02 … Apache、MySQLサーバ
sv03 … Apache(新設Webサーバ)
sv04 … Apache(新設Webサーバ)


テスト段階で、sv03・sv04は正常動作しています。
ところが実際にPoundでアクセスを割り当てると、暫く経った後にsv03・sv04からsv02のデータベースへ接続が出来なくなる症状が発生しました。
その際、静的コンテンツやMySQLを使用しないPHP群は正常に応答がありますが、MySQLに関してはシェルからの接続も出来ません。
sv01・sv02は問題なく接続可能です。
Pound割当を解除すると、暫く時間が経過(数分程度)した後でsv03・sv04ともに復旧します。
(ちなみにhttpd・mysqld及びOSのリブート無しで勝手に復旧します)


念の為、以下のチェックは済ませていますが原因は不明です。
●mysql_error() でチェックしたがエラーは特になし
●Apache・MySQLのログには特に記録されていない
 特にMySQLログはここ1週間、エラーは一切無し
●シェルでmysqlコマンドを使用すると繋がらず、エラーも吐かない
●PHP及び静的コンテンツは正常表示される
●Web01・Web02サーバからMySQLサーバへは正常に接続される
●Pound振分対象から外し数分経過すると復旧する
●httpd経由でのMySQLアクセスは60秒でタイムアウト(php.iniの設定に順ずる)


Webサービスについては、以下のような点から問題は無いと判断しています。
●Poundによるアクセス割当前は、新設のsv03・sv04は正常動作
●sv03・sv04は、正常稼動しているsv01・sv02のクローン
●sv02のsv03・sv04用MySQL権限設定は、sv01・sv02と同じ定義
●Pound割当直後にsv03・sv04のレスポンスが悪い等の症状は無く正常動作


テスト用のPHPスクリプトでmysql_error()に異常が無く、ログにも記録されていないので困っています。
「全く繋がらない」等なら調べようがあるのですが…恐らく、Poundでアクセスが割り当てられ、一定数のアクセスが発生すると障害が発生しているような気がします。
Web関連のファイルについては、sv01以下のsv02〜sv04は全てrsyncでパーミッション込でクローンしてるので問題が無いと思います。
テスト時に正常稼動してるのでWordPress固有のエラーでも無いと思います。
多分、MySQL周りだとは思うんですが。

細かいアドバイスで無くて構いませんので、何となくアタリをつけられるような助言を頂けると助かります。
記事編集 編集
自己解決しました。 このメッセージに返信する
日時: 2011/03/02 14:21
名前: トキワ
URL:
自己解決したので報告です。

MySQL及びWeb設定周りは大丈夫だったのですが、データベースサーバのhostファイルに新設サーバ名の記述を忘れていた為、MySQLがDNS逆引きできずにコネクションが増大、レスポンスが無くなっていたようです。
以下のURLを参考に対応しました。

「unauthenticated user」が溢れた。
http://d.hatena.ne.jp/y_fudi/20090109/1231484391

解決したので詳細なチェックはしてませんが、このケースだとMySQLのログに残らないみたいです。
MySQL側では単純なリソース不足と考えて記録しないのかもしれません。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -