2016-04-08 8 views
2

Ich habe eine Laravel Anwendung, die eine node.js (Express) -Server verwendet, um serverseitige Render-Seiten zu rendern. Beide Prozesse befinden sich auf derselben Maschine.Was ist der schnellste Weg, um zwischen PHP und node.js auf demselben Rechner zu kommunizieren?

Derzeit sendet Laravel eine POST-Anfrage mit einigen Anfangsdaten (in JSON) an den lokalen Knotenserver und empfängt die gerenderte HTML-Zeichenfolge von ihm.

Die POST-Anforderung dauert derzeit 100 ms bis 200 ms, während das Rendering selbst durchschnittlich 20 ms dauert. Wofür werden die anderen 80/180ms ausgegeben?

Ich habe versucht mit DNode für RPC, aber die Latenz ist vergleichbar.

+0

https://github.com/talyssonoc/react-laravel ermöglicht die serverseitige Wiedergabe der Antwort –

+0

Hallo @RajKamal, wir haben versucht, react-laravel vorher zu verwenden, aber es war ein Schmerz, v8js auf allen devs-Maschinen laufen zu lassen und es zu bekommen in der Produktion arbeiten, aber ich werde die v8js Route weiter untersuchen. Vielen Dank! – afinemonkey

Antwort

1

Sie haben keine Details dazu angegeben, worum es eigentlich geht - welches Betriebssystem? Was belastet das System?

Sie haben auch nicht gesagt, wie Sie die Anfrage und "Rendering" Zeiten gemessen haben.

Wenn die Verzögerungen in der HTTP-Schicht node.js oder in einer Abstraktionsschicht auf der PHP-Seite nicht auftreten, ist der Wechsel zu einem anderen Protokoll kein Problem. Ich denke, es ist sicher, die erste zu diskontieren - node.js ist ziemlich schnell in der Bedienung von HTTP die meiste Zeit.

In Ermangelung weiterer Informationen würde ich eine Paketerfassung zwischen den Knoten ausführen, um zu sehen, auf welcher Seite die Latenz auftritt.

Verwandte Themen