web-dev-qa-db-ja.com

ローカルホスト/127.0.0.1に接続するときの接続タイムアウト

4つのフロントエンドWebサイトをホストするDebianSqueeze専用サーバーと、いくつかのバックオフィスツールとAPI(メインのWebサイトにフィードする)があります。

これはすべて2008年から問題なく稼働していますが、今日、ボックスでホストされているAPIに接続しようとすると、突然多くの110: connection timed outエラーが発生します。

アプリはPHP/mysqlベースであり、サーバーソフトウェアはApacheです。

API呼び出しのために呼び出された各ドメインは、/etc/hostsファイルの127.0.0.1にマップされ、コマンドラインでのテストからcurlwgetの両方で実際のDNSルックアップは正常に解決されています。接続はおそらく3回に1回機能します。

Apache max_connectionsを(予防策として)チェックして増やしました。同様に、mysql接続制限が引き上げられましたが、これらの制限のいずれも到達に近づいていませんでした。

タイムアウトしたテストリクエストは、Apacheのエラー/アクセスログにも触れません。Apacheが特定のリクエストに応答していないようです。

サーバーの負荷自体が0.6を超えることはありません。

iptableルールは昨日(これが機能したとき)から変更されておらず、127.0.0.1との間の内部接続を許可しています。

Php/rewriteルールなどをバイパスするために、コマンドラインのサブフォルダーから単純な画像をリクエストしてみました。テストでは、これはおよそ3回に1回返されます。お互いに失敗します。

誰かが次に見るべき他に何を提案できますか?

------------------更新-----------------

サーバーがポート80を断続的に閉じているようです。 IPテーブルにはこれを行うためのルールがありません...

何か案は?

2
steve

奇妙なことに、ポートスキャンツールを使用して、ポート80が数秒ごとに開閉していることを発見しました。原因を突き止めることができませんでした。ファイアウォール/ iptablesが無効になり、Apacheがポート80で接続を受け入れるように構成されました..。

Apacheを再インストールしようとしましたが、アンインストールされませんでした(破損しているように見えました)。最終的には、解決するためにOSを再インストールすることになりました。

1
steve

Apacheステータスモジュールを有効にします。 http://www.Apache.org/server-status のサンプルを参照し、接続が次のいずれかの状態に長時間留まらないようにします。W、R、 C。

また、アプリケーションや環境に変更はありますか?

0
antimatter