Webサーバー上のphpスクリプトがプライベートネットワーク経由でMySQLデータベースサーバーに接続すると、断続的な「接続タイムアウト」エラーが発生します。ただし、パブリックネットワークを使用して接続するようにスクリプトに指示すると、これらのエラーは表示されません。
私の接続スクリプトは、mysqlに接続しようとするたびにエラーをチェックし、エラーが発生した場合は電子メールを送信してから、自動的にパブリックネットワークに切り替えてその接続を試行するように設定されています。パブリック接続が失敗すると、別の電子メールが送信され、ユーザーにカスタムWebページが表示されます。
1時間に約5〜10の接続エラーが発生します。毎分何百もの接続が成功しています。
これらの機械は専用機です。私はホスティング会社に連絡しました、そして彼らはルーターとケーブルをテストし、そしてすべてが大丈夫だと言いました。サーバーに双方向でpingを実行してみましたが、1時間以上のテスト期間でエラーはまったく発生しませんでした。
最新のPHPとPHP-FPMで最新のNginxを使用しています。Mysqlは5.5.27です。これらは、最新のアップデートを備えたCentos664ビットシステムです。
私は多くのネットワーク構成オプション、php-fpmおよびmysql構成ファイルの調整を試しましたが、何をしたり変更したりしても、何も修正されません。
奇妙なことに、すべてがパブリックネットワーク上でうまく機能し、pingとファイル転送は両方のマシン間のプライベートネットワーク上でうまく機能します。
何か案は?
** アップデート **
PHP-FPM構成ファイルとMySQL構成ファイルにいくつかの変更を加えましたが、エラーは1時間あたり約2〜3になりましたが、まだ解決されていません。