FreeBSD / Apacheシステムで実行されているPerlスクリプトがあり、DBIを介してMySQLデータベースにいくつかの簡単なクエリを実行します。サーバーはかなりアクティブであり(1日15万ページ)、時々(1分に1回程度)何かがプロセスのハングを引き起こしています。ファイルロックが読み取りを保留しているのではないか、SQL呼び出しであるのではないかと疑っていますが、ハングしているプロセスに関する情報を取得する方法を理解できていません。
実用的なmod_perlによると、頭痛の種となる操作を特定する方法は、システムトレース、perlトレース、または対話型デバッガーのいずれかであるように思われます。FreeBSDでシステムトレースがktraceであると収集しましたが、一番上にあるハングしているプロセスの1つに接続すると、プロセスが強制終了された後の唯一の出力は次のとおりです。
50904 perl5.8.9 PSIG SIGTERM SIG_DFL
それは私にはあまり役に立ちません。誰かがこれについてもっと意味のあるアプローチを提案できますか?私はUnixadminでそれほど進んでいないので、私が愚かに聞こえるならあなたの忍耐は大いに感謝されます....:o)