再來復習一下吧,導致 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::html' target='_blank'>class,
4、現在,你可以執行以下的命令來啟動 Swoole HTTP 服務。
php artisan swoole:http startab 測試
測試環境: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 官方把這個作為研究方向
以上就是如何通過swoole加速laravel的問題的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答