Ich habe gerade einen Belastungstest gegen meine App durchgeführt. Ich bemerkte eine sehr große Variabilität in der Latenz für zwei identische Anfragen: 3 s vs. 30 s. Als ich auf die Spuren stieß, fand ich Folgendes:
%Vor%Hier sind Screenshots für die Spuren:
Niedrige Gesamtlatenz
Hohe Gesamtlatenz
Ich kann keinen 10-zu-1-Unterschied in der Laufzeitleistung ausmachen.
Ich sehe diese Anfragen mit hoher Latenz nur unter Last. Könnte etwas in meinem Code diese Variabilität berücksichtigen (unter der Annahme, dass für beide Anforderungen derselbe Pfad durch den Code verwendet wurde)?
Nach meiner Erfahrung werden diese außergewöhnlich hohen Latenzzeiten durch eine neue Instanz verursacht. In der AppEngine Google Group gab es eine Diskussion über ähnliche Probleme: Ссылка
Zwei Dinge, die Sie tun können:
Ich hoffe, das hilft. In meinem Fall hat die Verwendung einer höheren Instanzklasse schon viel geholfen!
Ich hatte dieses Problem auch, Google unterstützt vorgeschlagen, max_concurrent_requests
zu reduzieren. Die Hypothese zu dieser Zeit war, dass die CPU gedrosselt wurde. Nach der Reduzierung wurde die Latenz im Allgemeinen besser. Ich war mir immer noch nicht sicher, was passiert, weil ich nicht erwartet hatte, dass die Anwendung so viel CPU verbraucht. Leider kein Werkzeug, um die CPU auf GAE zu profilieren, wo genau der CPU-intensive Teil liegt
Tags und Links google-app-engine google-cloud-datastore