-1
私のアプリケーションサーバーで問題が発生しています。ロードバランサに2つのノードがあるとします。pm2の問題 - 応答が停止する
突然、それらのノードの1つが不健康になります。
私はそのインスタンスにログインしました。 pm2にログが来ない。 それから私は非常に高いCPUをチェックします。
この問題を解決する方法を教えてください。またはそれをデバッグする方法。
私のアプリケーションサーバーで問題が発生しています。ロードバランサに2つのノードがあるとします。pm2の問題 - 応答が停止する
突然、それらのノードの1つが不健康になります。
私はそのインスタンスにログインしました。 pm2にログが来ない。 それから私は非常に高いCPUをチェックします。
この問題を解決する方法を教えてください。またはそれをデバッグする方法。
flame graphsをチェックして、あなたのノードアプリケーションがどこのCPUにバインドされているかを確認してください。
new debugging system in Node 6.3(--inspect
)を使用して、フルパワーのChrome DevToolsでデバッグすることもできます。
PM2には、max-memory-restart
オプションを使用したこのような暴走問題に対する保護がいくつかあります。通常、CPU使用率が高いとCPU使用率が高くなります。このオプションを使用すると、大量のメモリを消費するときにアプリケーションを再起動することができます(正しい場合がありますが、役立つはずです)。
--max-memory-restart <memory> specify max memory amount used to autorestart (in octet or use syntax like 100M)