私のサイトは非常に標準的な ecom サイトです。JS を使用したスタンドアロン アプリなどではなく、標準的なものに JS を使用し、いくつかのことを行うためにいくつかの jquery プラグインを使用するサイトです。
サイトで JS メモリ評価を実行しようとしています。Chrome タスク マネージャーとヒープ スナップショットを見て、これを行いました。
最初の読み込み時のサイトは、タスク マネージャーで 35MB (つまり 35,000K) から 40MB の間にあります。他の Web サイトの複数のタブを同時に開いている場合、これはどのタブよりも大きくなります。ページを更新すると、55 ~ 60 にジャンプし、別の更新では 65 ~ 70 MB にジャンプします。
ワークフローの通常のページでは、45 ~ 65 の間で変動します (実行内容によっては 75 になることもあります)。クリックしてページからページへとワークフローを実行すると、メモリが 85 ~ 100 に跳ね上がり、サイトを進むにつれて増加します。
チェックのようないくつかのことを試みました:
- 検出されたノード
- ヒープのスナップショットとデルタの確認
- オブジェクトのサイズをチェックする amix の MemoryLeakChecker
循環参照や閉鎖の問題を探すには、さらに深く掘り下げる必要があります。
ヒープ スナップショットはあまり明らかにしません。トップ リストのほとんどは (配列)、(文字列)、(システム) です。スナップショットは、4.8MB、5.1MB、5.8MB、6.8MB の間にあり、増加します。
その結果、いくつかの質問があります。
How do I understand the different metrics between snapshot memory and task manager memory
Are there any good tutorials (apart from the ones on the Google Developers site)?
How much memory is considered acceptable? Given in the task manager my site is always the highest?
Do I have a memory leak? Apart from the steps I've described above (which I haven't found anything concrete from) is there any other ways I can find leaks?
Can you suggest any tools apart from the Chrome Dev Tools (a lot of the tools mentioned on Google for Firefox are not compatible with the latest version, eg: Leak Monitor for FF)
補足として、私の機能のほとんどは控えめな操作であり、200 ミリ秒を超えません (CPU プロファイルに基づく)。私が目指すべき良いベンチマークは何ですか?200msは高いですか?