2011-09-20 2 views
4

내 앱보기는 로그에 따라로드하는 데 800-2000ms 정도 걸립니다.언제든지 400 + ms 오버 헤드가 레일스에 액세스합니다.

나는 current_user에 액세스하는 페이지가없는 것으로 나타났습니다. 시간은 10ms 미만입니다. current_user에 액세스 할 때마다 current_user를 얻는 데 400ms가 걸립니다.

왜 current_user를 가져 오는 데 오랜 시간이 걸리나요? 지연으로 인해 성능이 저하 된 부분을 추적하는 방법은 무엇입니까?

감사합니다.

+0

데이터베이스 관련 문제이거나 오작동하는 미들웨어 일 수 있습니다. – Seth

+4

실행 된 SQL 문을 보려면 로그 파일을보십시오. 현재 사용자를 구성하는 동안 사용자 개체를 쿼리하는 방법에 따라 인덱스를 추가해야 할 수 있습니다. –

+0

시간 초과 될 수있는 before_filters가 있습니까? 이것은 파일 시스템 손상 일 수도 있습니다. 볼륨의 파일 시스템을 확인하십시오. – jschorr

답변

0

로그에는 데이터베이스 시간과 렌더링 시간이 표시되어야합니다. 그들이 추적하는지보십시오. 높은 렌더링 시간은 항상 높은 데이터베이스 시간을 의미합니다.

데이터베이스 문제가 아닌 경우 레일을 프로파일하는 다양한 방법이 있습니다.

에피소드는 오래되었지만 Rails가 이미 이러한 질문을 위해 구축 한 샘플입니다.

관련 문제