2012-06-15 2 views
5

나는 매우 간단한 레일 3.2.6 앱을 가지고 있습니다. 필자는 Heroku를 수년간 프로토 타입을 호스트하기 위해 사용 해왔다. 마지막으로 최신 앱에 유료 dyno를 추가하고 New Relic을 추가하여 성능을 모니터링했습니다.heroku의 간단한 레일 앱 성능

트래픽이 거의없는 극히 단순한 페이지에서 4500 + ms 요청 시간이 표시됩니다 (아직 출시되지 않았습니다). New Relic은이 시간 중 99 %가 템플릿을 렌더링하는 데 소비한다고 말합니다. 이것은 75 줄의 100 줄 레이아웃 내에 완전히 고정 된 haml 템플릿입니다. 응용 프로그램 템플리트에는 표준 - if current_user.nil? 브랜치가 있습니다.

아직 페이지 캐싱을 추가하지 않았습니다. 물론이 작업을 수행하겠습니다 만, 내가 덮기 전에이 매우 열악한 성능의 근본 원인을 확인하고 싶습니다. 어떤 팁? Heroku에서 어떤 종류의 응답 시간을 기대해야합니까? 개발 환경의 내 로컬 상자에서 동일한 페이지 응답 시간이 26ms (자산이 1.5 초 이전)입니다. New Relic은 Heroku의 동적 페이지에 평균 응답 시간이 2000ms에서 6000ms로보고합니다.


편집 : 나는 페이지 캐싱은 정적에 대해 설정이/지금은 173ms의 평균을보고하고있다. 그러나 나는 동적 인 페이지에 대한 나의 열렬한 평균에 여전히 관심이있다.

+1

4500 + ms가 일관성이 있습니까? 아니면 첫 번째 히트입니까? Heroku는 잠시 사용하지 않으면 앱을 잠자기 상태로 만듭니다. (1 시간 동안 사용하지 않을 경우 생각합니다.) – kreek

+0

무료 계정으로는 dynos 만 유휴 상태라고 생각했습니다. 아니면 사용하지 않을 때 메모리를 해제하는 앱 서버를 말하는 것입니까? 이 페이지에서 평균은 실제로 놀랍게도 173ms입니다. 그러나 2k에서 6.5k 평균을 갖는 다른 동적 페이지에 대해서는 여전히 궁금합니다. 7 개의 요청은 평균 6500ms입니다. 8에는 4000ms가 있습니다. 6에는 2000ms가 있습니다. 최악의 기록 응답 시간은 51,000ms입니다. – devth

+1

예, 돈을 내면 잠을 자지 못한다고 생각합니다. 최악의 실적을 보이는 페이지를 게시 할 수 있습니까? – kreek

답변

1

의견도 말씀 드렸듯이 첫 번째 히트작 인 Heroku가 무료 앱의 경우 앱을 돌려서 요청을 처리해야만 평균 요청 시간을 얻을 수 있기 때문입니다. 꽤 느립니다.

+1

이것은 2 dynos를 가진 유료 앱입니다. – devth