為什麼要在 Swoole 上執行 Laravel?因為使用 Swoole 可以加速 Laravel 應用。以下這篇文章就來帶大家聊聊怎麼在Swoole上使用Laravel,希望對大家有幫助!
Swoole 是為 PHP 開發的生產級非同步程式設計框架。他是一個純C 開發的擴展, 他允許PHP 開發者在PHP 中寫入高性能,可擴展的並發TCP, UDP, Unix socket, HTTP, WebSocket 服務, 而不需要擁有太多的非阻塞I/O 編程和低階的Linux 核心知識。你可以把 Swoole 想像成 NodeJS, 但對 PHP 來說會有更高效能。 【推薦學習:swoole教學 】
swooletw/laravel-swoole 的主要特點:
協定
$ composer require swooletw/laravel-swoole
pecl install swoole
extension=swoole.so。
php -i | grep php.ini # check the php.ini 為什麼要在 Swoole 上運行 Laravel? location sudo echo "extension=swoole.so" >> php.ini # add the extension=swoole.so to the end of php.ini php -m | grep swoole # check if the swoole extension has been enabled
訪問 官網 獲取更多的資訊。 注意:Swoole 現在只支援 Linux 和 OSX 。 Windows 伺服器現在還不支援。然後,新增服務提供者:如果你使用 Laravel ,在
config/app.php 服務提供者陣列新增該服務提供者:
[ 'providers' => [ SwooleTW\Http\LaravelServiceProvider::class, ], ]
bootstrap/app.php:
$app->register(SwooleTW\Http\LumenServiceProvider::class);
這個套件支援套件自動發現機制。如果你運行 Laravel 5.5 以上版本,你可以跳過這一步。
$ php artisan swoole:http start
Starting swoole http server... Swoole http server started: <http://127.0.0.1:1215>
http://127.0.0.1:1215 進入 Laravel 應用程式。
基準測試工具: wrk
wrk -t4 -c100 http://your.app
基於FPM 的Nginx
Running 10s test @ http://lumen.app:9999 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 1.14s 191.03ms 1.40s 90.31% Req/Sec 22.65 10.65 50.00 65.31% 815 requests in 10.07s, 223.65KB read Requests/sec: 80.93 Transfer/sec: 22.21KB
Swoole HTTP 服務
Running 10s test @ http://127.0.0.1:1215 4 threads and 100 connections Thread Stats Avg Stdev Max +/- Stdev Latency 11.58ms 4.74ms 68.73ms 81.63% Req/Sec 2.19k 357.43 2.90k 69.50% 87879 requests in 10.08s, 15.67MB read Requests/sec: 8717.00 Transfer/sec: 1.55MB
Github Repo 查看官方包,也可以參考 官方文件 取得更多資訊。
英文原文網址:https://laravel-news.com/laravel-swoole?【相關推薦:
laravel影片教學】
以上是為什麼要在 Swoole 上運行 Laravel?的詳細內容。更多資訊請關注PHP中文網其他相關文章!