2010-01-15 2 views
3

은 여기 내 레일에서 발췌 한 로그입니다 :Rails는 지출 시간을보고 렌더링을보고 할 때 무엇을 의미합니까?

Rendered songs/_song_list (683.4ms) 
Completed in 841ms (View: 633, DB: 159) | 200 OK

가보기를 렌더링 지출 633ms를보고 할 때 레일은 무엇을 의미합니까?

이 특별한 경우에는 항목 집합을 반복하여 각 부분에 대해 <li>을 인쇄하고 있습니다 (부분적으로 제안 된 이름으로). 633ms 문자열을 연결하는 데 레일스를 사용하고 있습니까? 나는 그 (또는 다른 CPU- 바운드 작업)이 대략 무한히 빠르다고 느낀다.

답변

0

View모든 것을 의미합니다. : 부트 스트랩, 포함, 초기화, 모두. 그래도 여전히 많이 보인다. 아무것도하지 않는 시각에서 볼 때 시간은 어떻게됩니까?

1

모든 항목의 데이터베이스에서 가져 오지 않았는지 확인하십시오. find에 include 옵션으로 필요한 모든 것을 미리로드하십시오. 그렇지 않으면보기가 실행되는 동안 엄청난 양의 쿼리를 실행하고 새로운 ActiveRecord 객체를 초기화하게됩니다. 이는 엄청난 시간 낭비입니다.

+0

"보기"번호 또는 "841ms 완료 (보기 : 633, DB : 159)"의 "DB"번호로보기 횟수 내에서 데이터베이스 쿼리를 실행하십시오. –

+0

내 생각으로해야한다고 생각했지만, 그것에 의존하지 않는다 - 또한 DB는 객체 인스턴스화를 포함하지 않는다. – Matchu

관련 문제