2012-12-19 3 views
5

나는 MongoHQ와 함께 Heroku (자유 계층)에서 Meteor를 사용하고 있습니다. 내 응용 프로그램은 지금 매우 간단합니다, 그것은 컬렉션에서 3-4 항목을로드하지만, 내가 Heroku에 배포 할 때, 나는 우스운로드 시간 (1-2 분)을보고 있습니다. HTML이 즉시 렌더링됩니다. Meteor.com의 무료 서버에 배포 할 때로드 시간은 훨씬 적지 만 4 개의 작은 데이터에 대해서는 약 15 초입니다. 내가 로컬로 배포 할 때 이것을 전혀 보지 못하고 있습니다. 응용 프로그램은 DB에서 데이터를 즉시 가져옵니다.Meteor가 Heroku에서 내 데이터를로드하는 데 너무 오래 걸리는 이유는 무엇입니까?

나는 Heroku의 "공회전"문제라고 생각하지 않는다는 점은 주목할 가치가있다. 방금 앱을 연 브라우저 창이 하나 있는데도 다른 브라우저를 사용하고 다시 시도해도 1-2 분의로드 시간이 소요됩니다. 그러나 데이터가로드되면 성능이 다시 좋아 지므로 문제없이 읽고 쓸 수 있습니다.

무엇이 누락 되었습니까? 나는 콘솔에서 어떤 에러도 보지 않고있다. mongo는 로그에 몇 가지 쿼리를 보여 주며 그것이 4 개의 문서로 빠르게 응답하고 있음을 보여 주지만, 분명히 중간에 교통 정체가있다. 이것에 대한 어떤 도움이라도 대단히 감사합니다. 과거를 지나갈 수 없다면, 유성은 지금 당장 나의 필요에 쓸모가 없습니다.

업데이트 : Firebug에서 자세히 살펴 봤는데 성능이 크게 일치하지 않는 것처럼 보입니다. 때로는 간단한 새로 고침에는 1 분이 걸리고, 때로는 10 초가 걸립니다. 하지만 내가 느낀 점은 느린 속도, sockjs/info 파일을 얻는 순간, sockjs POST가 중단 된 것입니다 (때때로 여러 번). 이 빠른 실행되면 POST 이후 게시물이 인터넷 연결에 의존하지 않고 파일을 당신의 하드 드라이브에서 읽고하지 않을 수 있기 때문에

Slow: 
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 22ms 
POST http://pocleaderboard.herokuapp.com/sockjs/029/su0d77fb/xhr Aborted 
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 27ms 
POST http://pocleaderboard.herokuapp.com/sockjs/132/uljqusxd/xhr Aborted 
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 28ms 
POST http://pocleaderboard.herokuapp.com/sockjs/154/kcbr6a5p/xhr Aborted 

Fast(er): 
GET http://pocleaderboard.herokuapp.com/sockjs/info 200 OK 1.08s 
POST http://pocleaderboard.herokuapp.com/sockjs/755/xiggb555/xhr 200 OK 1.02s 
+0

내 경험에 의하면 당신이 heroku를 무료로 사용한다면 ****처럼 느립니다. heroku는 거기서 테스트 애플리케이션을 얻는 데 아주 좋습니다. 그러나 속도를 원한다면 지불해야합니다. 나는 그것이 여러분의 달리기, 그냥 heroku가되고있는 것과는 아무 상관이 없다는 것을 매우 의심합니다 (무료 버전입니다) – Richlewis

답변

3

유성은, 그렇게 빨리 로컬로드되는 원활하게 실행 다운로드해야합니다. 일단 데이터가로드되면 클라이언트 (사용자)가 캐시 된 mongo 데이터베이스에서 모든 작업을 수행 한 다음 서버에서 작업이 정상적으로 진행되었는지 기다릴 때까지 기다리기 때문에 호스팅하는 모든 곳에서 동일합니다.

그러나 Heroku 로딩 시간 동안, 나는 전혀 모른다, 미안 해요!

업데이트 : 유방에서 사용되는 SockJS의 long-pulls입니다. 일반적으로 이러한 풀은 핫 코드 푸시 (파일 추가/변경/제거)에서만 중단됩니다.

당신 또는 Heroku가 디렉토리에 내용을 쓰거나 변경하는 것 같습니다. 그러면 Meteor에 의해 핫 코드 푸시가 시작될 수 있습니다.

관련 문제