Ich wollte GAE Leseleistung benchmarken. Etwa 10.000 Entitäten werden aus dem Datenspeicher geholt. Diese Entitäten enthalten 3 Eigenschaften Name (ca. 16 Zeichen), Beschreibung (ca. 130 Zeichen) und einen Zeitstempel. Nichts ungewöhnlich groß.Ist die CPU-Bandbreite bei Google App Engine einfach zu teuer oder ist es mein Code?
Hier ist, was ich sehe:
Im Durchschnitt dauert es etwa 11 Sekunden 10k Einheiten zu lesen. Nicht sicher, ob dies als schnell, langsam oder sinnvoll angesehen wird, aber es ist nicht so aufregend.
Interessanter finden Sie die CPU-Messung. Die 100-malige Ausführung dieser Leseoperation verbraucht ungefähr 3,0 CPU-Stunden. Die Kosten betragen 0,30 US-Dollar.
Da es hier keinen CPU-intensiven Algorithmus gibt, macht es die CPU-Bandbreite von GAE nicht ziemlich teuer? (Sicher, es kommt mit 24/7 sys-admins in Form von Python-Skripten etc etc, aber immer noch ...)
Oder ist das etwas in meinem Java-Code:
http://github.com/akirekadu/GAE-Evaluation/blob/master/show.jsp
Das klingt für mich nicht unvernünftig, 1000 Entitätsobjekte pro Sekunde über das Internet ... Ein kurzer Test, der 3500 Entitäten (die jeweils etwas mehr Daten als Ihr Beispiel enthielten) über das Internet dauerte etwa drei Sekunden. Haben Sie eine Vorstellung davon, wie viele Daten übertragen werden? – darri
@darri, "Datenspeicher" ist eine interne GAE-Einrichtung –
(a) Die Zeit, die ich erwähnt habe, * beinhaltet nicht die Web-Round-Trip. Es ist Zeit, Entitäten zu lesen (und den HTML-Code zu konstruieren). (b) Die abgerufenen Daten sind ungefähr 3 MB. – akirekadu