0

ubuntu 12.04 のヒップホップ VM でワードプレスを実行しています。私のサーバーは約 1 時間正常に動作し、その後、リクエストの処理を停止してタイムアウトになります。実行すると、hhvm プロセスがまだ実行されていることがわかりますがps -aux | grep "hhvm"、要求に応答していません。これをデバッグできる方法はありますか?ログ ファイルにエラーが表示されていないため、ここからどこへ行くべきかわかりません。hhvm で実行中に PHP コードをデバッグする方法はありますか?

アップデート:

スレッドを 50 から 300 に増やしたところ、サーバーは 24 時間持続しましたが、同じことが再び発生しています。

管理ページ /check-health からの出力は

{
  "load":240
,  "queued":0
,  "hhbc-roarena-capac":0
,  "tc-size":17473376
,  "tc-stubsize":12588591
,  "targetcache":37280
,  "units":223
}

そして /stats.html は

{
  "stats": {
    "pages": [
    ]
  }
}
4

1 に答える 1

0

使用している HHVM のバージョンに、着信要求を処理するために使用できるワーカー スレッドがなくなるまでスレッドが徐々にハングするというバグがあるようです。

gdb を使用してプロセスにアタッチし (「gdb -p $PID」と入力します。ここで、$PID は hhvm のプロセス ID です)、「thread apply all bt」と入力してすべてのスレッドのスタック トレースを取得すると、詳細を収集できます。https://github.com/facebook/hiphop-php/issuesで github の問題を開き、すべてのスレッドのスタック トレースを提供すると、HHVM チームの誰かが応答し、問題を掘り下げるのに役立ちます。問題の再現方法について詳細を提供すればするほど (例: 問題を再現する小さな完全なコード例を提供する)、バグを特定して修正できる可能性が高くなります。

また、HHVM の古いバージョンを使用している場合は、新しいバージョンにアップグレードしてみてください。これは、過去数か月にわたって多数のバグ修正が行われたためです。スタックするスレッドのバグ修正があったかどうかはわかりませんが、アップグレードすると問題が解決する可能性があります。

于 2013-09-12T10:21:05.667 に答える