1

私たちが話しているように、本番環境にあるNodeJS/Express/Reactアプリケーションで少し問題があります。Chromeデベロッパーツールでヒープダンプをプロファイリングする(メモリリーク)

問題は、メモリ使用量が増え続けているだけで、それは止まらないということです。それは遅くて安定していて、ついにはノードがクラッシュします。私は、ノード・ヒープ・ダンプの助けを借りて作成しているいくつかのヒープ・ダンプを持っていますが、どのようにしてリークを適切に特定するのか分かりません。

スナップショットの画像を共有します。

enter image description here

私は以下を参照することができますように、この「585 @でPROMIS」があることを:私は、これらのオブジェクトの1 /上に表示されるタイプが問題でなければならないので、おそらく浅いサイズによってソートされたことに注意してください私は多くの場所でそれが一つかもしれないが、私はその線、機能、または構成要素を特定できません。

誰かが助けることができますか?必要に応じてさらにスクリーンショットを共有することができます。

ありがとうございました。

+0

どのようにその機能を識別することができますか? – rmartrenado

答えて

1

問題が見つかりました。

私はアプリでReact Body Classnameを使用していますので、異なるルートをロードするときに、クライアント側からボディクラスを変更できます。このNPMモジュールを使用すると、メモリリークを避けるために、サーバー側のレンダリングを行うときに巻き戻し()funcionと一緒に使用する必要があります

これは私が話しているモジュールです:

https://github.com/iest/react-body-classname

そして、メモリリークを避けるために、私たちは電話しています:

BodyClassName.rewind() 

私たちの主なApp.jsコンテナコンポーネントのレンダリング機能です。この方法では、ユーザーが着陸しているURLは問題ではなく、Rewind()が常に呼び出されるため、ガベージコレクションできるデータは将来的には適切に解放されます。

今、私たちのアプリは素敵で安定した120MBのメモリ使用量を維持しています。

ありがとうとにかく:D

関連する問題