0

ajax トランザクションが実行されるたびに約 1% の追加の CPU 使用率を取っている ajax アプリケーションがあります。

1 時間後にユーザー アクティビティがない場合、ページがリロードされ、CPU 使用率が 5% 未満に低下しますが、ajax トランザクションが実行されるたびに CPU 使用率が増加し、ページがリロードされるまで解放されません。

孤児タイマーが疑われましたが、何も見つからないようです.firefoxとfirebugを使用しており、プロファイリングは私が期待する呼び出しを示しています. トランザクションが完了し、ページが非アクティブ (1 秒のタイマー クロック以外) の後にプロファイリングすると、リアルタイム オン スクリーン クロック以外のタイマーが実行されていません。

これが何であるか、およびどのように追跡できるかについての提案はありますか??

私は純粋なJavaScriptを使用しています。

4

1 に答える 1

0

OK、解決しました。私の最初の本能は正しかったです。ajax が呼び出されるたびに、サーバーの時刻をローカルのリアルタイム クロックと同期させます。

setInterval() 関数に変数を割り当てておらず、ローカル クロックを再同期する前に古い setInterval() を window.clearInterval() でクリアしていませんでした。これにより、 setInterval() のアクティブな呼び出しが増え続けました。

とにかくありがとう :-)

于 2012-07-29T10:57:54.150 に答える