2011-11-16 2 views
3

사용 : Rails 3.0.3. 웹 호스트 : Heroku.com. 2 dynos & 0 작업자.레일스 메모리 오류 R14 on Heroku (빈 화면에 재로드 ??)

저는 Rails를 사용하는 초심자이며 처음 프로젝트를 발표했습니다. 사용자는 "페이지를 다시로드해야한다는 메시지가있는 빈 화면이 나타납니다"라는 사용자에 따라 간헐적으로 문제가 발생합니다. 불행하게도 나는 그것 (사용자로부터의 편도 통신 채널)보다 더 잘 설명 할 수 없다.

또한 로그에이 오류가 : 매우 간단 보인다

2011-11-09T19:00:12+00:00 heroku[web.1]: Process running mem=598M(116.8%) 
2011-11-09T19:00:12+00:00 heroku[web.1]: Error R14 (Memory quota exceeded) 

합니다.

하루에 약 4 000 명의 방문자와 약 10 000 페이지 뷰가 있습니다.

편집 : 또한 New Relic 및 Exception Notifier가 설치되어 있습니다. "실행 만료"문제가 많이 발생합니다. 내가 지금 알고 싶습니다 무엇

이다 : 나는이 간헐적으로 오류를 (I 더 타임 스탬프가 없다) 찾을 수있는 방법

  • . 로그에서 무엇을 검색해야합니까 (문자열)?
  • 메모리 문제로 인해 웹 브라우저가 충돌하고 다시로드되는 경우 (또는 이와 유사한 경우)? 아니면, 자바 문제와 관련이 있습니까?
  • 가장 중요한 점은 응용 프로그램을 테스트하여 메모리 집약적 인 부분을 확인하려면 어떻게합니까? 나는 완벽한 코딩으로 만들지 않았으므로 나쁜 부분을 찾아야한다고 알고 있습니다.

다시 한번 이것이 내 첫 번째 프로젝트이므로 솔루션은 간단 할 수 있지만 제발 도와주세요.

답변

2

새로운 유물 표준 추가 기능을 설치하십시오 - 응용 프로그램과 진행 상황을 파악할 수 있습니다. 'Dynos'탭에는 응용 프로그램의 메모리 사용률이 표시됩니다.보고하는 트래픽 수준에 비해 메모리 사용량이 매우 높지만 응용 프로그램에 따라 다릅니다. 로그에 메모리 오류가 표시되면 성능 고통받을 것입니다 http://devcenter.heroku.com/articles/error-codes#r14__memory_quota_exceeded

어떤 종류의 오류 처리 기능을 사용합니까? Airbrake addon을 설치하면 오류에 대한 알림을 받거나 오류가 발생할 때 오류를 이메일로 보낼 Exception Notifier gem을 사용할 수 있습니다. 이 응용 프로그램을 사용하면 응용 프로그램에 있거나 방문객 인터넷 연결 등 외부 요인을받지 못하는 경우 어떤 현상이 발생했는지 알 수 있습니다.

+0

고마워, 실제로 New Relic과 Exception Notifier가 설치되어 있지만 실제로는별로 도움이되지 않습니다. Exception Notifier를 통해 많은 "Execution expired"가 발생합니다. 메모리 문제와 관련이 있습니까? – Christoffer

+0

- 아마도 Heroku에서 30 초 동안 만 실행될 수 있습니다. –

+0

그 중 어느 것도 영웅 H12 타임 아웃에 대해보고하지 않습니다. 맞습니까? 보고/계산하는 방법이 있습니까? – cluesque