web-dev-qa-db-ja.com

ハングページはn回の読み込みごとに読み込まれます

最近、サイトを新しいサーバー(Apache 2、PHP5、MySQL5)に移動しました。このサイトはInvisionベースのフォーラムです。いくつかの投稿/トピックごとにハングします。停止してリロードすると、投稿/スレッドがそこにあるため、データが書き込まれています。最初は書き込みの問題だと思っていましたが、違います。データは書き込まれますが、ページの読み込みが完了しません。データが入力されたページからは離れません。

この問題をトラブルシューティングするための最良の方法は何ですか?私が最近行った唯一のことはMySQLのタイムアウトを減らすことですが、値がまだ十分に大きく、MySQLログにタイムアウトについての言及がないため、問題であることがわかりません。記録として、PHPのエラーログにも何もありません。

[〜#〜] edit [〜#〜]:サーバーのステータスを確認しました。すべて問題ないように見えましたが、ServerLimitに到達した疑いがあるため、2倍にしました。キープアライブも有効にしました。それを監視します。

編集2:数日経ちましたが、これはまだ発生しています。私はもっ​​と情報があります。

  1. Apacheはセグメンテーションフォールトをスローしていますが、コアダンプを有効にしてもそれらは生成されません。
  2. Apacheでモジュールを無効にしようとしましたが、機能しなくなります。
  3. 実際にはDNSに関連しているのではないかと心配しています。 Firefoxでライブヘッダーを見ると、この「ハング」期間中はまったく何も起こりません。その後、応答はかなり迅速に返されます。

PDATE(05/04):最新バージョンのApacheをビルドし、PHPソースから作成しましたが、運が悪かったので、それらを削除し、レミリポジトリを使用してすべてを更新しました私のパッケージを最新の安定版に変更しました。セグメンテーション違反は停止したようですが、ハングアップは続いています。

iniは次の場所にあります:

  • www.skylinesaustralia.com/php.ini
  • www.skylinesaustralia.com/my.cnf
  • www.skylinesaustralia.com/httpd.conf

PDATE --SOLVED!-問題は、MySQLで巨大なクエリキャッシュサイズを持っていたことでした。それは2GBで、64Mに変更してソートしました。

5
Christian
  1. Apacheはセグメンテーション違反を投げています

あなたの問題があります。 Apacheがハングしていません。Apacheの子が死亡し、リクエストを完了しないと、ブラウザがハングします。

LogLevelデバッグでは、もう少し多くの情報が得られる場合があります(ただし、これがビジー状態の実動システムの場合は、大量の情報が得られます)。

私の最初の推測は、suhosin/mod_securityか、間違ったphp apiに対してコンパイルされたものか、わずかに変更された共有ライブラリを使用しているものです。それらを再確認し、実行中のさまざまなphp拡張機能/ Apacheモジュールを分離できるかどうかを確認します。 apcc、eaccelerator、または任意のオペコードキャッシュを実行していますか?ゼンド?ソースガーディアン?イオンキューブ?これらのそれぞれの正しいバージョンを使用していますか?最新の更新? Zend 3.3.9、ioncubeにも最近のアップデートがあり、実行しているZendのバージョンによってはセグメンテーション違反が発生する可能性があります。

4
deleted

可能性の数が多く、詳細が少ないことを考慮したヒントをいくつか紹介します。

  1. フォーラム構成ファイルを開き、MySQL接続ホストがローカルホストであることを確認します
  2. / etc/hostsを開き、次のような行があることを確認します:127.0.0.1 localhost.localdomain localhost
  3. 実行している可能性のあるファイアウォールをすべてシャットダウンします。
  4. お使いのMySQLキャッシュエンジンをシャットダウンします。 (xcache、memcached、...)
  5. Php-mysqlパッケージをアンインストールして再インストールします(または強制的に再インストールします)。

これでうまくいかない場合は、php.ini、httpd.conf、my.cnfのコンテンツを投稿してください。

1
Embreau

StraceやgdbなどをすべてのApacheワーカープロセスにバインドし、ブラウザでページをリロードすると壊れます。次に、クラッシュしたときに何が行われているかについての詳細を確認できます。

コアダンプを有効にしたと言うとき、Apacheコアダンプを処理するのに十分な大きさにすることも可能にしましたか?かなり大きくなる可能性が高いので、一時的に無制限のサイズに設定しても役立つ場合があります。

1
mibus

サーバーのOSまたはハードウェアに深刻な問題がある可能性があります。

私はOSの検証を試みます(DebianベースのLinuxはdebsumsを使用しますが、他に何もわかりません)。

また、memtestx86+を実行してみてください。これにより、大規模なメモリの問題がないことを確認できます。負荷がかかっている場合にのみ表示されます。

0
LapTop006

Firefoxを使用する場合は、Firebugプラグインをインストールしてください。ブラウザの右下隅にあるバグアイコンをクリックして有効にし、[ネット]タブで[有効]を設定します。フォーラムのページをロードして、エラーをチェックします。

0
anonymouse

DNSに関連する同様の問題を見ましたが、サイトのURLを投稿する可能性はありますか?

編集:あなたがすでに言及したのを見たばかりですが、サイトを実行してください http://www.intodns.com/ サーバーのホスト名にも関連している可能性があります。私が言ったように、ドメインを投稿してもかまわないのであれば、それは簡単かもしれません。

0
Hugh Mann

Apacheを停止してから、次のコマンドで再起動してください:strace/path/to/httpd -X(1つのワーカーのみが起動し、Apacheはコンソールから切り離されません)。ハングを再現し、straceの出力を調べます。これにより、システムのどの部分がクラッシュしているかを特定できます。

0

MySqlでクエリキャッシュサイズを減らしてみてください。

0
Neil Knight