最近、サイトを新しいサーバー(Apache 2、PHP5、MySQL5)に移動しました。このサイトはInvisionベースのフォーラムです。いくつかの投稿/トピックごとにハングします。停止してリロードすると、投稿/スレッドがそこにあるため、データが書き込まれています。最初は書き込みの問題だと思っていましたが、違います。データは書き込まれますが、ページの読み込みが完了しません。データが入力されたページからは離れません。
この問題をトラブルシューティングするための最良の方法は何ですか?私が最近行った唯一のことはMySQLのタイムアウトを減らすことですが、値がまだ十分に大きく、MySQLログにタイムアウトについての言及がないため、問題であることがわかりません。記録として、PHPのエラーログにも何もありません。
[〜#〜] edit [〜#〜]:サーバーのステータスを確認しました。すべて問題ないように見えましたが、ServerLimitに到達した疑いがあるため、2倍にしました。キープアライブも有効にしました。それを監視します。
編集2:数日経ちましたが、これはまだ発生しています。私はもっと情報があります。
PDATE(05/04):最新バージョンのApacheをビルドし、PHPソースから作成しましたが、運が悪かったので、それらを削除し、レミリポジトリを使用してすべてを更新しました私のパッケージを最新の安定版に変更しました。セグメンテーション違反は停止したようですが、ハングアップは続いています。
ini
は次の場所にあります:
PDATE --SOLVED!-問題は、MySQLで巨大なクエリキャッシュサイズを持っていたことでした。それは2GBで、64Mに変更してソートしました。
- Apacheはセグメンテーション違反を投げています
あなたの問題があります。 Apacheがハングしていません。Apacheの子が死亡し、リクエストを完了しないと、ブラウザがハングします。
LogLevelデバッグでは、もう少し多くの情報が得られる場合があります(ただし、これがビジー状態の実動システムの場合は、大量の情報が得られます)。
私の最初の推測は、suhosin/mod_securityか、間違ったphp apiに対してコンパイルされたものか、わずかに変更された共有ライブラリを使用しているものです。それらを再確認し、実行中のさまざまなphp拡張機能/ Apacheモジュールを分離できるかどうかを確認します。 apcc、eaccelerator、または任意のオペコードキャッシュを実行していますか?ゼンド?ソースガーディアン?イオンキューブ?これらのそれぞれの正しいバージョンを使用していますか?最新の更新? Zend 3.3.9、ioncubeにも最近のアップデートがあり、実行しているZendのバージョンによってはセグメンテーション違反が発生する可能性があります。
可能性の数が多く、詳細が少ないことを考慮したヒントをいくつか紹介します。
これでうまくいかない場合は、php.ini、httpd.conf、my.cnfのコンテンツを投稿してください。
StraceやgdbなどをすべてのApacheワーカープロセスにバインドし、ブラウザでページをリロードすると壊れます。次に、クラッシュしたときに何が行われているかについての詳細を確認できます。
コアダンプを有効にしたと言うとき、Apacheコアダンプを処理するのに十分な大きさにすることも可能にしましたか?かなり大きくなる可能性が高いので、一時的に無制限のサイズに設定しても役立つ場合があります。
サーバーのOSまたはハードウェアに深刻な問題がある可能性があります。
私はOSの検証を試みます(DebianベースのLinuxはdebsums
を使用しますが、他に何もわかりません)。
また、memtestx86+
を実行してみてください。これにより、大規模なメモリの問題がないことを確認できます。負荷がかかっている場合にのみ表示されます。
Firefoxを使用する場合は、Firebugプラグインをインストールしてください。ブラウザの右下隅にあるバグアイコンをクリックして有効にし、[ネット]タブで[有効]を設定します。フォーラムのページをロードして、エラーをチェックします。
DNSに関連する同様の問題を見ましたが、サイトのURLを投稿する可能性はありますか?
編集:あなたがすでに言及したのを見たばかりですが、サイトを実行してください http://www.intodns.com/ サーバーのホスト名にも関連している可能性があります。私が言ったように、ドメインを投稿してもかまわないのであれば、それは簡単かもしれません。
Apacheを停止してから、次のコマンドで再起動してください:strace/path/to/httpd -X(1つのワーカーのみが起動し、Apacheはコンソールから切り離されません)。ハングを再現し、straceの出力を調べます。これにより、システムのどの部分がクラッシュしているかを特定できます。
MySqlでクエリキャッシュサイズを減らしてみてください。