2012-03-30 4 views
0

Ich habe eine django web app, die postgres db.It ermöglicht Benutzern, sich einzuloggen und machen einige Beiträge, die in DB gespeichert werden und später auf dem Benutzer kann auflisten, wie viele Beiträge er auf einer bestimmten gemacht Tag usw. und liste die Beiträge auf, die zu einer bestimmten Kategorie usw. gehören. Während dies ohne Verzögerung in meinem Rechner funktionierte, dauert es sehr viel Zeit, jede Seite zu laden, wenn sie auf einem free Host gehostet wird.herauszufinden, warum eine webapp ist langsam, wenn gehostet

Wie finden Sie heraus, warum dies passiert? Welchen Teil der App sollte ich zuerst suchen? Gibt es irgendeine Bedeutung bei der Verwendung eines Profilers, da diese App früher ohne Verzögerungen auf meinem lokalen Rechner lief?

Ich möchte herausfinden, wie dieses Problem zu nähern, in der Lage war, general.I ..so dies ohne große Verzögerungen auf dem gleichen freien Host gehostet anderen Anwendungen zugreifen können, ein spezifisches Problem meiner app

Ich würde gerne einen Rat in Bezug auf diese .. Wenn jemand helfen kann ..

danke ps: (Ich habe absichtlich den Namen des Gastgebers, weil, da das ein kostenloser Service war, gab es keinen Grund zu beschweren und auch andere Apps auf dem gleichen Host funktioniert gut)

+2

Mit kostenlosen Hosts erhalten Sie, was Sie bezahlen, IMO. –

+3

Haben Sie die Django Debug Toolbar ausprobiert? Http: //pypi.python.org/pypi/django-debug-toolbar. Es wird Ihnen die Geschwindigkeit aller Ihrer Anfragen mitteilen. Könnte ein guter Anfang sein. – rockingskier

+0

Ich stimme rockingskier zu, dass Abfragen in der Tat ein guter Anfang sind. Manchmal ist es einfach eine Schleife ohne Auto, die mit einem einfachen "select_related" behoben werden kann ... –

Antwort

1

Das hier ist das kostenlose Host-Bit, wenn auf einem freien h Andernfalls könnten Sie eine Box mit Hunderten von anderen Sites teilen (das kann mit einer sehr geringen Menge an RAM oder CPU gleichgesetzt werden). Zahlen Sie ein wenig Geld ($ 30 Dollar/£ 22 pro Jahr) und machen Sie sich selbst zu einem besseren Gastgeber.

Sie werden die Leistung und Zuverlässigkeit so viel besser finden.

Failing, dass ich zunächst herausfinden würde, was die Latenz zwischen Ihnen und dem Server ist, auf einem lokalen Computer gibt es keine/wenig Netzwerkverkehr, so dass Ihre Seiten scheinen viel schneller zu laden.

Als nächstes würde ich die tatsächlichen Download-Geschwindigkeiten betrachten, die Sie bekommen. Es könnte sein, dass Ihre Seite auf 20-30k beschränkt ist, was bedeutet, dass sogar eine kleine Seite eine Sekunde zum Laden braucht.

Hosten Sie viele Bilder? Wenn dies der Fall ist, servierst du sie über Django oder der Webserver tut dies. Wenn es Django ist, dann mache den Webserver diese Last.

Überprüfen Sie abschließend die Verarbeitungsgeschwindigkeit der Seiten. Analysieren Sie die ausgeführten Abfragen und finden Sie heraus, was die Zeit in Anspruch nimmt. Stellen Sie sicher, dass Postgres korrekt konfiguriert ist und über genügend Ressourcen verfügt. Sie können die Abfragegeschwindigkeit mithilfe der django-Debug-Symbolleiste analysieren.