一、前言
最近看到社区里很多人都在讨论 Laravel-S
,我也去 Github 上查看了一下该项目,其实 Laravel-S
是快速集成 Swoole
到 Laravel
或 Lumen
,然后赋予它们更好的性能、更多可能性的一个胶水项目。我今天正好空闲下来,心想还是测试一波,看看性能会不会有提升呢?
二、创建 Laravel 项目
1、新建项目
1 | laravel new laravel-S |
或者使用
1 | composer create-project laravel/laravel laravel-S --prefer-dist "6.2.*" |
进行新建项目
2、配置好 .env
文件
配置如下:
1 | APP_NAME=laravel-s |
注意:这里主要配置好数据库连接和 APP_URL
,其他的配置项,新建项目时默认带有了
3、配置Nginx服务器
新建一个 Nginx
配置文件,写入如下配置(这里根据你自己的项目配置,能访问到项目即可)
我的 Nginx
配置文件如下:
1 | server { |
4、初次访问我们的项目,如下图,那么基本的配置就完成了
三、安装laravel-S胶水项目到我们的 Laravel 项目上
1、通过 Composer
安装
1 | composer require "hhxsv5/laravel-s:~3.5.0" -vvv |
2、注册 Service Provider
(以下两步二选一)。
Laravel
: 修改文件config/app.php
,Laravel 5.5+支持包自动发现,你应该跳过这步
1
2
3
4'providers' => [
//...
Hhxsv5\LaravelS\Illuminate\LaravelSServiceProvider::class,
],Lumen
: 修改文件bootstrap/app.php
1
$app->register(Hhxsv5\LaravelS\Illuminate\LaravelSServiceProvider::class);
3、发布配置和二进制文件。
1 | php artisan laravels publish |
4、运行
1 | php bin/laravels start |
5、运行成功后如图:
运行结果:
访问成功:
四、执行ab压测
1、新开一个命令行窗口,测试Nginx服务器下Laravel的并发量:
命令如下:
1 | ab -n 2000 -c 100 http://laravel-s.test/ |
注意:上面那个命令一般是我们最常用的的,意思是对 http://laravel-s.test/ 的主页发送 2000 个请求 (-n 代表发多少请求) 100 个并发 (-c 代表并发的请求)
测试如图:
2、然后继续测试继承laravel-S的laravel
命令如下:
1 | ab -n 2000 -c 100 http://127.0.0.1:5200/ |
注意:上面那个命令一般是我们最常用的的,意思是对 http://laravel-s.test/ 的主页发送 2000 个请求 (-n 代表发多少请求) 100 个并发 (-c 代表并发的请求)
测试如图:
五、结语
1、首先我们来看一下这两个数据的对比吧,如下图:
左边是 Nginx
的压测结果,右边是集成 Laravel-S
的laravel压测结果
2、总结
从图中我们可以看到,集成了 laravel-S
的 Laravel
框架确实快了很多很多,但是最近看到社区中使用 laravel-S
的用户,碰到了很多问题,但是集成了 Swoole
后速度确实上升了很多,希望 laravel-S
的作者继续去完善,同时大家想要把自己的项目加上 laravel-S
也要慎重考虑,文章到这里就结束了,我也没什么好说的,毕竟我也是个菜鸟,如果文章中有做得不对的地方和写的不对的地方欢迎大家指出!