it-swarm.com.de

Beschleunigen Sie Heroku (klein) App

Ich möchte meine Heroku-App beschleunigen. Soll ich einen zusätzlichen Dyno oder den ersten Worker hinzufügen?

Vielen Dank.

2
andkjaer

Die Dinge haben sich ein bisschen verändert, seit dies ursprünglich beantwortet wurde. Ich denke auch, dass ihnen ein wichtiger Punkt fehlt:

Die verschiedenen Dyno-Größen bieten unterschiedliche CPU-Leistungseigenschaften und helfen in Situationen mit hoher CPU-Auslastung ein wenig. Im Idealfall sollten Sie jedoch die Arbeit an einen Hintergrund-Worker als ersten Schritt bei der Optimierung sowie bei der Optimierung des Codes auslagern.

  • In der Produktion sollten Sie immer mindestens zwei 1-fach-Prüfstände oder einen 2-fach-Prüfstand haben. Wenn Sie den "Produktions-Check" für Heroku ausführen, wird sich das Unternehmen beschweren, wenn Sie das kostenlose 1-Dyno-Konto verwenden. Dies liegt daran, dass kostenlose Konten nicht im Standby-Modus bleiben. Wenn sie jedoch für eine Weile inaktiv sind, wird der Dyno heruntergefahren. Wenn eine Anforderung eingeht, muss der Dyno von Grund auf neu gestartet und die Umgebung geladen werden, bevor er überhaupt mit der Bearbeitung der Anforderung beginnen kann . Dies wird natürlich eine massive Verzögerung hinzufügen. Weitere Informationen finden Sie unter: Dyno Sleeping und auch unter Dyno Redundancy .

Also, um es zusammenzufassen. Wenn Sie nur einen Prüfstand haben, sollten Sie einen weiteren hinzufügen oder sich für die Verwendung eines 2-fach-Prüfstands entscheiden, um einen Ruhezustand zu verhindern (und möglicherweise die Redundanz zu erhöhen). Eine gewisse CPU-Leistung kann durch Anpassen der Dyno-Größen erzielt werden. Die Hauptmethode zur Steigerung der CPU-Intensität besteht jedoch in Hintergrundjobs, der Architektur und der allgemeinen Verbesserung der Code-Effizienz.

P.S. Sicher, Sie könnten stündlich eine Art Umfrage für die App einrichten und diese Richtlinie auf diese Weise umgehen, aber hey, lassen Sie uns hier fair sein - ist das nicht nur Schummeln? Sie glauben nicht, dass Heroku ein paar Cent verdient, um Ihre (wenn auch kleine, aber hoffentlich gut funktionierende) App zu nutzen? :)

1
Timo

siehe meine Antwort in diesem Beitrag - Dynos erhöhen nicht die Leistung

1
John Beynon

Weder Mitarbeiter noch Dynos erhöhen direkt Ihre Anwendungsgeschwindigkeit. Wenn Ihre Anwendung langsam ist, ist sie auch dann noch langsam, wenn Sie weitere Dynos hinzufügen.

Dynos repräsentiert gleichzeitige Anforderungen. Mit 1 Prüfstand verarbeitet Heroku jeweils 1 gleichzeitige Anforderung. Bei 4 Dynos werden 4 Anforderungen verarbeitet. Wenn die Ausführung einer Anforderung jedoch 10 Sekunden dauert, dauern 4 Anforderungen jeweils 10 Sekunden.

Mitarbeiter können Ihre Anwendung indirekt beschleunigen, wenn Sie schwere und langsame Prozesse (wie E-Mail-Zustellung oder PDF-Generierung) in Hintergrundaufgaben verlagern.

Im Allgemeinen besteht die Möglichkeit zur Steigerung der Anwendungsleistung darin, das Anwendungsverhalten zu überprüfen und den Code zu verbessern. Normalerweise möchten Sie möglicherweise eine schnelle Cache-Ebene (wie Redis oder Memcached) verwenden, um langsame Abfragen oder Fragmente der Cache-Ansicht zu beschleunigen.

0
Simone Carletti