千家信息网

如何测试Laravel Octane Beta

发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,本篇内容主要讲解"如何测试Laravel Octane Beta",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何测试Laravel Octane Bet
千家信息网最后更新 2025年01月18日如何测试Laravel Octane Beta

本篇内容主要讲解"如何测试Laravel Octane Beta",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何测试Laravel Octane Beta"吧!

测试机器配置:

4 Cores 16gPHP 8.0.3Swoole 4.6.4

一、测试 web 路由

路由配置:

//routes/web.phpRoute::get('/benchmark', function () {    return ['foo' => 'bar'];});

服务端启动命令:

php artisan octane:start --server=swoole --port=9999 \-host=0.0.0.0 --max-requests=20000 --task-workers=2 \--workers=32 --quiet

性能测试工具命令:

wrk -d10 -c300 -t32 --timeout=15 \http://127.0.0.1:9999/benchmark

测试结果:

Running 10s test @ http://127.0.0.1:9999/benchmark  32 threads and 300 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency   568.28ms  249.82ms   1.34s    67.44%    Req/Sec     9.51     10.69   148.00     93.08%  1846 requests in 10.11s, 1.86MB readRequests/sec:    182.67Transfer/sec:    188.74KB

测试结论:

性能很差,后面猜测可能是因为 web 路由会使用 session,默认配置的是文件 session。之后我就换成了 api 路由进行测试。

二、测试 Api 路由 (32 workers)

路由配置:

//routes/api.phpRoute::get('/benchmark', function () {    return ['foo' => 'bar'];});

限流配置:

protected $middlewareGroups = [...    'api' => [        ...        //'throttle:api',        ...    ],...];

服务端启动命令:

php artisan octane:start --server=swoole --port=9999 \-host=0.0.0.0 --max-requests=20000 --task-workers=2 \--workers=32 --quiet

性能测试工具命令:

wrk -d10 -c300 -t32 --timeout=15 \http://127.0.0.1:9999/api/benchmark

测试结果:

Running 10s test @ http://127.0.0.1:9999/api/benchmark  32 threads and 300 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency   242.12ms  130.53ms 617.97ms   63.19%    Req/Sec    41.43     24.41   390.00     71.86%  11712 requests in 10.11s, 2.67MB readRequests/sec:   1158.26Transfer/sec:    270.34KB

三、测试 Api 路由 (64 workers)

路由配置:

//routes/api.phpRoute::get('/benchmark', function () {    return ['foo' => 'bar'];});

限流配置:

protected $middlewareGroups = [...    'api' => [        ...        //'throttle:api',        ...    ],...];

服务端启动命令:

php artisan octane:start --server=swoole --port=9999 \-host=0.0.0.0 --max-requests=20000 --task-workers=2 \--workers=64 --quiet

性能测试工具命令:

wrk -d10 -c300 -t32 --timeout=15 \http://127.0.0.1:9999/api/benchmark

测试结果:

Running 10s test @ http://127.0.0.1:9999/api/benchmark  32 threads and 300 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency   191.59ms  150.91ms 711.89ms   72.06%    Req/Sec    71.80     46.26   450.00     56.46%  15971 requests in 10.10s, 3.64MB readRequests/sec:   1581.67Transfer/sec:    369.16KB

从结果可以看出,没有使用 session 的 api 路由接口,性能有大幅提升。服务端 worker 数量增加后性能提升不明显。

由于时间和资源的限制,测试并不是很严谨,没有测试数据库的操作,也没有和 php-fpm 模式进行对比。接口和测试工具运行在同一台 ECS 上面。期待之后有更权威详细的第三方测评。

到此,相信大家对"如何测试Laravel Octane Beta"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

测试 路由 配置 命令 性能 工具 测试工具 结果 服务 端启 内容 接口 学习 严谨 实用 明显 更深 兴趣 实用性 实际 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东常见软件开发性价比 计算网络技术主要包括什么 北京京东软件开发知乎 管理远程服务器需要会什么 软件开发速度 估算 温州火星人网络技术有限公司 笔记本软件开发推荐配置 北京沙暴网络技术有限公司 成都籍做网络安全的人物 互联网科技公司的薪酬绩效 华为社招 软件开发 面试 网络安全性开放是啥意思 如何避免网络安全问题的发生 违反网络安全法多少年 自动送出软件开发 我要看网络安全手抄报的标语 服务器一直重启吗 绵阳软件开发公司哪家靠谱 简述数据库的性质 鳩鸠互联网科技公司 信息化网络安全保障中心 网络技术答案两面性 荔波无线网络技术在线咨询 服务器搭建微信公众平台 人工智能网络安全专业研究生 软件开发行业适合什么星座 数据库怎么区分主表和从表 中公网络安全员 北京电子科技大学网络安全 服务器里怎么样能找到拓普软件
0