Ich habe zwei sehr einfache Heroku-Apps erstellt, um den Dienst zu testen, aber es dauert oft einige Sekunden, bis die Seite geladen ist, wenn ich sie zum ersten Mal besuche:
- Cropify - Grundlegende Sinatra App ( auf Github )
- Textile2HTML - Noch grundlegendere Sinatra App ( auf Github )
Ich habe lediglich eine einfache Sinatra-App erstellt und bereitgestellt. Ich habe nichts getan, um mich mit den Heroku-Servern herumzuschlagen oder sie zu testen. Was kann ich tun, um die Reaktionszeit zu verbessern? Es ist momentan sehr langsam und ich bin mir nicht sicher, wo ich anfangen soll. Der Code für die Projekte ist auf Github, wenn das hilft.
quelle
Vielleicht möchten Sie auch die Caching-Optionen untersuchen, die Sie für Heroku mit Lack und Memcached haben. Diese bleiben unabhängig von den Dynos bestehen.
Wenn Sie beispielsweise eine unveränderte Homepage haben, können Sie diese für längere Zeit in Varnish zwischenspeichern, indem Sie der Antwort Cache-Control-Header hinzufügen. Dann werden Ihre Benutzer den Lastschlag erst erleben, wenn sie "etwas tun" möchten, anstatt wenn sie ankommen.
quelle
Sie sollten sich Tom Robinsons Antwort auf "Skalierbarkeit: Wie funktioniert Heroku?" auf Quora: http://www.quora.com/Scalability/How-does-Heroku-work
Heroku teilt die Serverressourcen auf viele verschiedene Kunden / Anwendungen auf. Ihrer App werden Rechenleistungsblöcke zugewiesen. Heroku-Partitionen basierend auf dem Ressourcenbedarf. Wenn Sie eine beliebte Anwendung haben, die mehr Leistung erfordert, können Sie für mehr „Dynos“ (Anwendungscontainer) bezahlen und erhalten dafür einen größeren Teil des Kuchens.
In Ihrem Fall führen Sie jedoch eine kostenlose App aus, die nur wenige Personen - wenn überhaupt außerhalb von Ihnen - besuchen / verwenden. Daher reduziert Heroku die Ressourcen, die Sie erhalten, indem Sie Ihre App entladen - und sie im Wesentlichen in den Ruhezustand versetzen -, bis eine Anfrage an Ihre Adresse gesendet wird. Wenn dies passiert und Ihre App lange Zeit im Leerlauf war, dauert das Neuladen einige Zeit.
Fügen Sie 1 zusätzlichen Prüfstand hinzu, damit Ihre App nicht einschlafen kann, wenn diese Nachladezeit wichtig ist.
quelle
Ich habe das gleiche Problem. Ich habe letzte Nacht eine Rails 3 (1.9.2) App bereitgestellt und sie ist langsam. Ich weiß, dass 1.9.2 / Rails 3 in BETA auf Heroku ist, aber das Support-Ticket sagte, dass es mit einigen Anweisungen, die sie mir geschickt haben, in Ordnung sein sollte.
Ich verstehe, dass die erste Anfrage nach langer Zeit am längsten dauert. Macht Sinn. Aber das einfache Laden von Seiten, die nicht einmal eine Verbindung zu einer Datenbank herstellen, dauert manchmal 10 Sekunden und ist ziemlich schlecht.
Wie auch immer, vielleicht möchten Sie versuchen, was ich tun werde. Das ist Profil meiner App und sehen, wie lange es lokal dauert. Wenn es 400 ms dauert, stimmt etwas nicht. Aber wenn ich vor Ort 50 ms bekomme und es auf Heroku immer noch 10 Sekunden dauert, stimmt definitiv etwas nicht.
Natürlich hilft das Caching, aber Sie erhalten nur 5 MB kostenlos und mit EINER Person, die die Site nutzt, sollte es nicht so langsam sein.
quelle