2

PouchDB を使用しているIonicアプリをデバッグしています。起動時に1ページの速度が遅くなり、8時間の記録でCPU時間の99%が使用されていることがわかりましたpouchdbPouchDBを使用したIonicアプリのパフォーマンスの問題

pouchdbは私がlocaldbと呼んでいる角度サービスでラップされています。

Timelineタブでの検索を使用して、localdbが218回、pouchdb 14972回と記載されています。

enter image description here enter image description here

私は何が起こっているか理解するために何ができますか?

EDIT:私はこのコードはブラウザ(右列)

console.time('READ--'+ID) 
console.time('WRITE--'+ID) 
LDB.query('my_index', { //stored index 
    key: ID, 
    include_docs: true 
}).then(function(data) { 
    console.timeEnd('READ--'+ID) 
    //DO THINGS 
    obj._rev = data._rev 
    LDB.put(obj).then(function(ldata) { 
     console.timeEnd('WRITE--'+ID) 
    }); 
} 

enter image description here

答えて

1

よりもAndroidデバイス(左列)の8倍倍遅いことを発見したと思いますタイムライン検索結果は、さまざまなイベント(スクリプト、レンダリング、ペインティング)を通過するタイムラインのライフスパンにおける参照数です。これは、あなたのコードがdb関数を何度も呼び出すことを意味するものではありません。この検索フィールドは、タイムライン上のイベントのタイプをフィルタリングするためのものです。 HTMLを解析します。 How to Use the Timeline Tool: Searchを参照してください。

私は最後の1時間か2時間のうちにPouchDBとよく知っていましたが、頭をかぶっているのは明らかです。私は、ドキュメントを使用してサンプルアプリケーションを作成することができました。

私はあなたが使用してデバッグ情報の多くを得ることができることを見出した。

PouchDB.debug.enable('*'); 

それはあなたにボトルネックがどこにあるのアイデアを与えるかもしれません。

https://jsfiddle.net/xmr5ksov/

Debugging PouchDB

記事12 pro tips for better code with PouchDBまた、あなたのデータベースと呼び出しているクエリの両方を最適化する上でいくつかのアイデアを与えるかもしれません。

+0

こんにちはギデオン、遅く返事を申し訳ありません。私はデバッグ 'PouchDB.debug.enable( '*');'を使用しようとします。手伝ってくれてありがとう –

関連する問題