Frage

Nein, ich versuche nicht, zu sehen, wie viele buzzwords ich in eine einzige Frage Titel werfen kann.

Ich mache REST-Anfragen über Curl in meiner PHP-Anwendung zu einigen Webdiensten. Diese Anfragen werden müssen, ziemlich oft gemacht, da ein großer Teil der Anwendung auf dieser API abhängt. Allerdings gibt es starke Latenz mit den Anforderungen (2-5 Sekunden), die nur sehr langsam meine app aussieht.

Während ich mit einer Empfehlung auf halben Weg zu einer Lösung bin diese Anforderungen in Memcached zwischenzuzuspeichern, bin ich immer noch nicht zufrieden mit dieser Art von Latenz jemals in der Anwendung erscheinen.

waren also hier meine Gedanken: Ich kann AJAX implementieren Lang Polling im Hintergrund, so dass der Benutzer nie die Latenz geradezu erlebt. Die REST-Anfragen / Memcache-Lookups werden alle durch AJAX in festgelegten Abständen durchgeführt werden.

Aber das ist mir alles wirklich neu und ich bin mir nicht sicher, ob dies der beste Ansatz ist. Und wenn ich auf dem richtigen Weg bin, ich weiß, dass PHP + Apache ist nicht gut, so etwas zu handhaben würde. Aber PHP ist die einzige Sprache, die ich kenne. Ich würde im Idealfall wie so etwas wie Tornado in Python zu gründen, aber ich bin nur nicht sicher, ob ich über Engineering jetzt oder nicht.

Alle Gedanken hier wären hilfreich und sehr geschätzt.

War es hilfreich?

Lösung

Das war einige ziemlich schnelle Wende, aber ich ging zurück durch und profilierte meine App von microtime() in den relevanten Prozessen Echo aus. Stellt sich heraus, dass ich nicht meine Parallelisierung cURL Anfragen und das ist, wo ich den Hit nehmen. Es dauert ca. 2 Sekunden, das zu tun, was bedeutet, sehr lange Verzögerungen während jeder cURL Anfrage nacheinander durchgeführt wird.

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