Frage

Nach dieser Diskussion von Google App Engine auf Hacker News ,

  

Ein DB (Lesen) Anfrage übernimmt 100ms auf dem   Datenspeicher. Das ist verrückt und unbrauchbar   für etwa 90% der Anwendungen.

Wie bestimmen Sie, was eine akzeptable Antwortzeit für eine DB-Leseanforderung?

Ich habe App Engine benutze ohne Probleme mit DB Ansprechbarkeit zu bemerken. Aber auf der anderen Seite, ich bin nicht sicher, ich würde sogar wissen, was zu suchen in dieser Hinsicht:)

War es hilfreich?

Lösung

Das Plakat ist falsch. Datastore-get-Operationen sind viel schneller - über jede 15-20ms, zur Zeit. Datastor query Operationen können langsamer sein, weil sie viel mehr beteiligt und mehr Daten zurück, aber sie vollständig noch in überall von 30-100ms für eine typische Abfrage. Andere Plakate haben reichlich angesprochen, ob die „akzeptabel“ oder nicht.

Andere Tipps

Sie können genau messen, wie viel jeder RPC-Aufruf (Datenspeicher oder auf andere Weise) nimmt dank Guido van Rossum der hier für mehr. 100 Millisekunden ist gut für die meisten gut gestalteten Anwendungen - wenn Sie zwei oder drei Abfragen, um eine Seite zu dienen, können Sie immer noch in dienen weniger als eine halbe Sekunde, auch wenn es viele Verarbeitung und beteiligt zu machen ... nicht zu schäbig. Darüber hinaus können Sie memcache verwenden viele dieser Latenzen zu verringern, etc.

Was meinst du akzeptabel? Welche Art von Anwendung schreiben Sie? Akzeptable Mittel verschiedene Dinge für verschiedene Domains / Anwendungen / Menschen. Zunächst sollten Sie entscheiden, wie schnell Sie Ihre Anwendung reagieren möchten auf eine Anfrage. Lassen Sie uns 1 Sekunde holen, nur um des Argumentes willen. Nun, wie viele DB-Anfragen brauchen Sie diese Anforderung zu erfüllen, machen? Sagen wir, 5. Lassen Sie uns auch sagen, dass wir auch 400 ms Wert anderer Verarbeitung zu tun haben. OK, das ist also 5 liest mal jede 100ms plus 400ms andere Sachen. 900ms insgesamt, die weniger als unser Ziel von 1 Sekunde ist. Perfekt! 100ms ist eine akzeptable Leserate. In der Tat, 120ms noch akzeptabel wäre, nur knapp.

Jetzt wollen wir verallgemeinern:

numberOfReads * readTime + otherStuffTime = TotalTime

Füllen Sie Ihre Zahlen, und Sie können sehen, was für Ihre Situation eine akzeptable Zeit.

Wenn Sie keine Probleme bemerkt haben, dann ist es per Definition eine akzeptable Antwortzeit. Die einzige Frage ist, wie lange Ihre Benutzer glücklich zu warten.

Ein „eine akzeptable Antwortzeit für eine DB-Leseanforderung“ hängt ganz von Ihrer Anwendung und Benutzer.

Wenn das Nettoergebnis ist, dass Ihre Website schnell genug läuft Sie und Ihre Benutzer dann die langsame Reaktionszeit der Dienste von Google in ihre App Engine sind akzeptabel, vorausgesetzt, gerecht zu werden.

Nun sucht tiefer in diesem speziellen Thema, es klingt wie wir über gets sprechen. sind die Zahlen für die GET-Latenz und es scheint mir, dass die durchschnittliche Latenzzeit näher an 50ms ist dann 100. ich sage nicht, dass gut ist, aber ich glaube nicht, dass es richtig ist zu sagen, 100ms.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top