最近發表了 Laravel Octane 包(https://github.com/laravel/octane)。它的創建使 Laravel 對 Swoole 和 RoadRunner 更加友好。我們在 dev.family 中使用 RoadRunner 而不是 php-fpm 已經有一段時間了, 我們決定分享我們的經驗並揭示它具有什麼優勢。
RoadRunner 是一個用 Go 寫的高效能、開源的 PHP 應用程式伺服器。與 php-fpm 的主要區別在於 RoadRunner 與 php 的常駐進程交互, 不像 php-fpm, 會在每次請求時創建並殺死一個新的 php 進程。 【推薦:PHP影片教學】
#常駐程式的優點:
這種方法的缺點是,它並不適合所有PHP 應用程序,因為通常在編寫程式碼時,會考慮到PHP 進程在請求之後會終止。因此,您需要能夠監視記憶體洩漏,並仔細處理全域狀態。因此,遺留項目可能無法在Roadrunner 上啟動。
然而,Roadrunner 還有其他有用的功能,例如靜態回饋、回應壓縮和平衡。典型捆綁包的功能都落在了 nginx 上。如果你使用的是 PHP Roadrunner,則可以在沒有它的情況下啟動該應用程式(nginx)。
RoadRunner 也很容易擴充。您可以將其元件用於您自己的應用程式伺服器並獲得機會,例如,您可以使用 websockets 直接在 Go 上處理一些請求。
RoadRunner 本身不是一個新的開發項目,它已經有幾年的歷史了。但是,有了 Laravel Octane 的官方支持,您可以確定框架已經準備好使用它。
我們在一個真實的專案上做了一個小測試,比較了 php-fpm 和 roadrunner 的速度。結果如下:
php-fpm:
plain text: 1150 RPS
single query: 530 RPS
roadrunner:
#plain text: 2200 RPS
single query: 1600 RPS
plain text -- 傳回常數JSON 的查詢
single query -- 將傳回常數JSON 的查詢
single query
-- 將單一查詢的結果以JSON 格式返回資料庫的查詢###翻譯網址:https://learnku.com/php/ t/61447######速度有顯提高,這是由於缺乏啟動時間和使用了與資料庫的永久連接。
原文網址:https://dev.to/dev_family/roadrunner-here-and-now-2oo9
以上是快看!能讓PHP程式加速的好東西「Roadrunner」來了!的詳細內容。更多資訊請關注PHP中文網其他相關文章!