這篇文章主要介紹了關於如何使用swoole加速laravel,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
再來複習一下吧,導致 php 慢的各種因素中解析性語言的特性可以說是罪魁禍首,再加上,每次請求完都釋放請求時所載入的全部檔案,因此也就顯得更慢了。
後來我們有了 opcache,使用這個的話,請求時間大概會縮短到原來的一半,但是我們會發現其實花的時間看起來還是很多。
這是為什麼呢?原因在於,opcache 只是省去瞭解析檔案的時間,實際啟動並執行時候,我們還是需要去把相同的代碼又跑一遍,具體我們可以看:
我們假設一下,如果我們的代碼跑了一遍,不釋放的話,那麼下次再跑的時候不就可以節省了這重複的時間?的確是的。
下面開始正題:
1、安裝 laravel-swoole 擴充
composer require swooletw/laravel-swoole
2、swoole 擴充當然是必不可少的
pecl install swoole
需要在安裝完 swoole 擴充之後加到 php.ini 中,不贅述
3、在 config/app.php 服務提供者數組添加該服務提供者:
SwooleTW\Http\LaravelServiceProvider::class,
4、現在,你可以執行以下的命令來啟動 Swoole HTTP 服務。
php artisan swoole:http start
ab 測試
測試環境:ubuntu 18.04,4核8線程 2.7~3.5GHz cpu,8G記憶體,120G SSD
測試結果:
ab參數:ab -n 1000 -c 100
我們發現 Time per request 是 2.512ms,當然,這隻是一個簡單的請求,不涉及資料庫查詢。總的來說,表現是要比 opcache 要好的,但這個畢竟是野路子,有多少坑我們不得而知,目前也不太瞭解是否有把這個用於生產環境的,但是這個思路其實真的很不錯,最後期待一下 php 官方把這個作為研究方向