2

PouchDB 을 사용하는 이오닉 앱을 디버깅하고 있습니다. 한 페이지가 시작될 때 특히 속도가 느려서 테스트 중입니다. 녹화 시간이 8 초 ~ 99 %의 CPU 시간이 pouchdb .PouchDB를 사용하여 이오닉 앱 성능 문제가 발생했습니다.

pouchdb은 내가 localdb라는 각도 서비스에 싸여있다.

Timeline 탭에서 검색을 사용하면 localdb이 218 번 및 pouchdb 14972 번 언급되었습니다.

enter image description here enter image description here

내가 무슨 일인지 이해하기 위해 무엇을 할 수 있는가?

편집 :이 코드가 브라우저에서 안드로이드 장치에 8 배 배 느린 (왼쪽 열)에 비해 (오른쪽 열)

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

내가 생각하는 것으로 나타났습니다 타임 라인 검색 결과는 다양한 이벤트 (스크립트, 렌더링, 그림)를 통해 전달되는 타임 라인의 수명 참고 문헌의 수입니다. 그것은 귀하의 코드가 여러 번 db 함수를 호출하는 것은 아닙니다. 이 검색 필드는 예를 들어, 타임 라인에 이벤트의 유형을 필터링하는 의미 HTML을 구문 분석하십시오. How to Use the Timeline Tool: Search을 참조하십시오.

나는 PouchDB 지난 시간이나 두 시간에 익숙한 자신을 시도하지만, 주위에 당신의 머리를 얻을 분명히 꽤 많은입니다. 문서를 사용하여 샘플 앱을 만들었습니다.

PouchDB.debug.enable('*'); 

그것은 당신에게 병목 현상이 어디의 아이디어를 줄 수 있습니다

은 당신이 사용하여 디버깅 정보를 많이 얻을 수 있다는 것을 발견했다.

https://jsfiddle.net/xmr5ksov/

Debugging PouchDB

기사 12 pro tips for better code with PouchDB는 또한 당신에게 데이터베이스와 호출하는 쿼리를 모두 최적화에 대한 몇 가지 아이디어를 줄 수 있습니다.

+0

안녕 기드온의 답변이 늦어 죄송합니다. '나는 디버그'PouchDB.debug.enable ('*')를 사용하려고합니다. 도와 주셔서 감사합니다 –

관련 문제