准备用laravel开发高并发的API接口 合适吗?

准备用laravel 开发一些可能会高并发的API接口 合适吗?
什么配置能抗住多少并发数喃?
有没有前辈经验 告知一下避免这个方案不行后期更改方案成本就很大了
或者有没有什么其他框架或者方法做高并发的接口比较适合的?
用laravel 测试 接口只是一个简单查询逻辑 怎么压测100的并发都扛不住 CPU爆炸了

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 67

webman,性能比 spring 和go的那些框架都强

1周前 评论
tiantian10000 (楼主) 1周前
shunjian_s_s_s 1周前
OwenZhang 1周前
码先生

想当年秒杀业务,不是java 扛不住,是数据库压力太大。秒杀机制数据库采用 MongoDB。mysql不合适。

2周前 评论

试试Hyperf

1周前 评论
OwenZhang 1周前
tiantian10000 (楼主) 1周前

可以用hyperf 挺香的

2周前 评论
tiantian10000 (楼主) 2周前
kolin (作者) 2周前

不适合,之前 8核 的仅返回helloworld测试 qps测试

建议选择hyperf,没啥学习成本。

2周前 评论
李铭昕

Swoole 系列框架 Wokerman 系列框架

随便来一个,分分钟抗下你说的这个并发量。

另外,Laravel虽然很拉胯,但是1000并发,问题应该不大吧。。。

1周前 评论

不合适,扛不住的 推荐GO或java

2周前 评论

推荐 webman yyds

1周前 评论
tiantian10000 (楼主) 1周前
tiantian10000 (楼主) 1周前
tiantian10000 (楼主) 1周前
OwenZhang 1周前

我在的公司用的laravels,qps800左右吧,一台机器

2周前 评论
哪吒的狗腿子 2周前
tiantian10000 (楼主) 2周前
shunjian_s_s_s (作者) 2周前
tiantian10000 (楼主) 2周前

用hyperf 吧 低成本 高回报

1周前 评论

用webman做并发可以,可以开多个线程,而且不用php-fpm方式会快很多,在加上队列操作,并发比laravel好,而且webman可以用tp的orm,laravel的orm

1周前 评论
tiantian10000 (楼主) 1周前
tiantian10000 (楼主) 1周前
win27149 1周前
OwenZhang 1周前

用webman 还不如 用java、nodejs、go之类的呢

1周前 评论
OwenZhang 1周前
保安 1周前
梦想星辰大海

Octane(加速引擎) 这个东西,有用上生产的大佬不?

1周前 评论

并发难道不是在数据库层面吗? :joy:

2周前 评论
sannchii 2周前
tiantian10000 (楼主) 2周前

1000qps laravel完全没问题 除开业务逻辑 该优化的优化, php-fpm调优、开启laravel的各种缓存、开启opcache,能走异步就异步,这样就没啥大问题了 业务复杂加钱搞定(增加服务器)

1周前 评论

纯粹的讨论高并发,那应该是 所有语言都比 pp 强,所以还是建议你用自己最熟悉的技术栈,这样开发成本比较低,否则研究一大圈引入一大堆拖慢开发节奏的东西得不偿失。

另外我们应该跳脱于表面,所谓高并发指的是什么? 1 成本可控 2 不崩。 这两点都可以通过跳脱于 pp 的视角去解决。比如楼上我看到一个用.k8s 的,这就很棒呀,你用他去部署项目,那就绝对没有崩的问题。然后只剩下一个成本可控,这个时候我们再来研究,如何降低单次访问的成本,然后再跳回程序员的视野。

看你提问应该是没接触过 pp 的大型项目,这个阶段我还是建议你先完成产品,用自己最熟悉的技术,不要急于一头扎进调研。

1周前 评论
码先生

并发,是一秒并发,还是日常使用人较多。 只要不是秒杀项目,和抢购产品。 laravel完全可以胜任,把缓存机制和图片访问机制优化。绝对5000 没有问题。

2周前 评论
tiantian10000 (楼主) 2周前
tiantian10000 (楼主) 2周前

4核8G单台500QPS左右,1000并发的话两台4核8G就够了,后期直接堆机器就行了,或者在开始之前就放弃 php

2周前 评论
tiantian10000 (楼主) 2周前

你先得告知大概的多少qps,项目规模,业务复杂度啥的啊...

2周前 评论
tiantian10000 (楼主) 2周前
mowangjuanzi

如果并发高,可以做如下方式进行优化接口,以下内容仅适用于 FPM 模式:

  1. 使用最新版本的 PHP,因为会有相关PHP代码的优化,毕竟蚊子再小也是肉。
  2. 开启PDO持久连接,可以减少数据库的重复连接时间。这个需要注意事务问题,必须每次请求都关闭开启的事务。
  3. 开启 Opcache。这个很多文章说过了,不说了。
  4. 开启 preload。该文件缓存比 Opcache 更加激进,因为他是跟随 FPM worker 生命周期维持的。
  5. FPM 开启 static。设置数量为 CPU的两倍等等,这个网上也有很多。
  6. FPM 配置注意配置 pm.max_requests,这个可以根据情况进行调大。如果设置为0,内存泄漏如何解决,如果设置过小,那么 worker 的创建就会过于频繁,设置过多还是内存泄漏问题。
  7. JIT 开启,这个没尝试过,暂时不清楚。可以参考这个看看 www.laruence.com/2020/06/27/5963.h...
2周前 评论
tiantian10000 (楼主) 2周前
mowangjuanzi (作者) 2周前
勇敢的心 2周前
tiantian10000 (楼主) 2周前

file laravel+octane:8核16G 网关服务功能项目:包含数据格式验证,签名验证,数据批量处理,redis数据查询,rabbitmq队列处理 并发1900,虽然是伪swoole,但是减少了文件加载io问题后,和其他语言已经没有量级的差距,除非性能要求到达极致,否则用laravel也是没问题的

2周前 评论
抄你码科技有限公司

macos i5 16g 2020款,laravel+octane(swoole),压测laravel首页octane 4worker 在200qps左右,20个fpm在65qps左右

印象中没那渣。。可能太久没重启机器了。。

ab -n 1000 -c 100 http://127.0.0.1/

2周前 评论

需要根据实际的qps来评估了

1、如果是1K以内的qps laravel够用怼机器就行

2、如果想继续用laravel 可以考虑下laravels、既可以用laravel优雅开发性能足够市面百分之95的公司的并发了,鄙人压测过线上业务到过1Wqps、服务器配置 6*2核的pod

3、如果不局限于laravel 就考虑,
workerman www.workerman.net/
imiphp https://doc.imiphp.com/v2.1/,
hyperf hyperf.wiki/
性能会更好 可以说够市面百分之98的公司的并发了

推荐使用locust压测推荐使用locust压测,本人亲测好用

博客:locust+boomer

2周前 评论
Imuyu 2周前
tiantian10000 (楼主) 2周前
tiantian10000 (楼主) 2周前
tiantian10000 (楼主) 2周前
哪吒的狗腿子 (作者) 2周前
哪吒的狗腿子 (作者) 2周前

并发是要结合硬件配置,业务,项目规模,架构来决定的,不同的场景下qps完全不一样,要结合你的目标来确定,如果执意用laravel,可以考虑一下lumen,专门做api的,业务不复杂TP6也是一个不错的选择

2周前 评论

1000左右qps是可以的,高并发肯定优先选择Java或者go,因为到后面总会换的,主要php没有那么多大佬可以招,说白了php更适合初创缺钱的公司或者外包快速出活

2周前 评论
tiantian10000 (楼主) 2周前
没有哆啦A梦的大雄 2周前

Laravel不适合高并发吧,自已做一下压测

2周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!