Używam Meteor na Heroku (free tier) z MongoHQ. Moja aplikacja jest teraz bardzo prosta, ładuje 3-4 wpisy z Kolekcji, ale kiedy rozmieszczę ją na Heroku, widzę śmieszne czasy ładowania (1-2 minuty). HTML jest renderowany natychmiast. Kiedy uruchamiam na darmowym serwerze Meteor.com, czas ładowania jest dużo niższy, ale wciąż wynosi około 15 sekund dla 4 małych kawałków danych. Nie widzę tego, kiedy wdrażam lokalnie, aplikacja pobiera dane z DB natychmiast.Dlaczego tak długo Meteor ładuje moje dane na Heroku?
Warto zauważyć, że nie uważam, że jest to problem "bezczynności" dla Heroku. Nawet jeśli mam już jedno okno przeglądarki z otwartą aplikacją, jeśli używam innej przeglądarki i spróbuję ponownie, nadal otrzymuję 1-2 minuty czasu ładowania. Jednak po załadowaniu danych wydajność wraca do doskonałości, potrafię czytać i pisać bez żadnych problemów.
Czego mi brakuje? Nie widzę żadnych błędów w konsoli, mongo pokazuje kilka zapytań w dziennikach i pokazuje, że szybko reaguje 4 dokumentami, ale najwyraźniej gdzieś w środku jest korek. Jakakolwiek pomoc w tej sprawie jest bardzo cenna, jeśli nie mogę się przedostać, ten Meteor jest teraz bezużyteczny dla moich potrzeb.
AKTUALIZACJA: Oglądałem ją z bliska w Firebug i wygląda na to, że wykonanie jest w dużej mierze niespójne. Czasami proste odświeżenie zajmuje 1 minutę, czasami zajmuje to 10 sekund. Zauważyłem jednak, że czasy, kiedy jest on wolny, GETs przechwytuje plik sockjs/info, a następnie POST jest przerywany (czasami wiele razy). Gdy biegnie szybko, a kolejne POST POST płynnie
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
Z mojego doświadczenia, jeśli używasz wszystkiego, co jest wolne w heroku, jest wolne jak ****. Heroku jest świetnym narzędziem do testowania aplikacji, ale jeśli chcesz prędkości, którą musisz zapłacić, bardzo wątpię, że ma to coś wspólnego z tym, co robisz, tylko heroku to heroku (darmowa wersja) – Richlewis