我有一個複雜的PHP應用程序,使用Zend Framework v1.x構建的ESB模型。性能已成爲一個問題,現在我知道爲什麼:閱讀php://輸入流一直持續幾乎10秒。PHP file_get_contents('php:// input')非常慢
這裏是從XDebug的跟蹤日誌摘錄:
0.3985 6935880 -> Zend_Controller_Request_Http->getRawBody() /var/www/vas/Adapters/Database/application/controllers/AdapterController.php:473
0.3985 6936104 -> file_get_contents() /usr/share/php/ZendFramework-1.12.0/library/Zend/Controller/Request/Http.php:961
10.4134 6936096 -> trim() /usr/share/php/ZendFramework-1.12.0/library/Zend/Controller/Request/Http.php:963
我們部署ESB模式,與請求去來回的門戶網站,到ESB,到數據庫適配器。點擊任何一臺服務器本身似乎沒有問題,但只要請求在服務器(實際上是同一臺服務器上的虛擬服務器)之間傳輸,問題就會隨之而來。
如果在讀取或請求端,您可以監視請求服務器和端的網絡流量嗎? –
它在閱讀方面。延遲特別發生在第一個讀取php://輸入的請求上,而不管應用程序何時發生。 –
那麼'php:// input'請求不執行這種方式?是否可以使用其他類型的請求進行測試? –