Swoole使用场景及代码实现

可用于对laravel项目速度优化

基于swoole的特性,有一些作者就开发组件试图将swoole的特性和laravel结合,以提升laravel项目的访问速度和承载能力。

首先看一下原生laravel的压力测试情况:

下载了一个5.8版本的laravel框架,在Test控制器的index方法输出字符串Hello World

jun@zhangjunshengdeMacBook-Pro ~ % wrk -t4 -c100 http://www.**.com/
Running 10s test @ http://www.**.com/
  4 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     1.21s   212.04ms   1.85s    84.74%
    Req/Sec    20.62     11.35    60.00     63.77%
  780 requests in 10.06s, 182.81KB read
Requests/sec:     77.52
Transfer/sec:     18.17KB

平均每秒请求77.52次。

然后试一下使用laravel-swoole这个组件,借助swoole的优势,提升laravel项目的承载能力。
首先在项目根目录启动swoole的http服务:php artisan swoole:http start
然后nginx配置一下代理:

location ~ {
	proxy_redirect off;
	proxy_set_header Host $host;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_pass http://127.0.0.1:1215;
}

确认访问域名后nginx转发给了swoole之后,再次进行压力测试。

jun@zhangjunshengdeMacBook-Pro ~ % wrk -t4 -c100 http://www.**.com/
Running 10s test @ http://www.**.com/
 4 threads and 100 connections
 Thread Stats   Avg      Stdev     Max   +/- Stdev
   Latency   320.76ms  395.42ms   1.73s    78.16%
   Req/Sec   146.82    143.99     0.88k    87.04%
 4897 requests in 10.10s, 4.19MB read
 Socket errors: connect 0, read 0, write 0, timeout 45
Requests/sec:    484.92
Transfer/sec:    425.14KB

平均每秒请求达到了484.92次。

借助swoole的异步,无阻塞快速消费MQ

TODO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值