想在thinkphp8的基础上不改变老项目实现与webman 并存

xb

问题描述

想实现的效果:想在thinkphp8的基础上不改变老项目实现与webman 并存

情况介绍:原项目 是用 thinkphp8 开发的 项目很大 ,现在用户端 经常出现 cpu 100% 打满的情况 ,如果说整体迁移到webman 会不习惯 并且 工程量比较大;

可行的 解决方案:
.部分高并发的 接口使用 webman 单独成立项目 开发 和 thinkphp 部署在 同一服务器,并通过 nginx 转发 ( 目前来讲最可行的 方案 相当于 webman 做微服务了 ,但是使得项目结构变复杂了)

待讨论的解决方案:
能不能实现在thinkphp 同一个项目下 使用 webman 使得在同一项目 结构下 thinkphp webman 切换

280 5 0
5个回答

胡桃

加机器。。

  • tanhongbin 2天前

    加机器 最省心 开启opcache 应该问题不大 增加webman会增加项目复杂度

fklee

重写需要改进的接口就行了,又简单又方便,硬集成在一起项目结构就复杂多了

  • xb 2天前

    也就是nginx 转发的那个方案 咯

  • tanhongbin 2天前

    你们多少qps呀 会导致cpu100%?

  • xb 2天前

    两千人次具体多少qps 没统计

  • tanhongbin 2天前

    2000人同时在线?大项目呀 不行就加机器吧 负载均衡最省心了 mysql连接数 加大

  • xb 2天前

    一个月的 特点时间特定场景才会 出现 其他时间很空闲

  • tanhongbin 2天前

    这里有一个难点 是 排查那些接口是并发的 使用cpu过多的 我觉得这是一个大难点 接口改成webman的很简单,分分钟的事,就是不好定位那些接口是导致cpu100%

  • xb 2天前

    宝塔日志有记录

  • tanhongbin 2天前

    那就好弄了 弄完少开点进程 可以试试cpu是否下降 如果真的下降了 那就OK了 如果没有就需要看看是不是框架的事了

qq7467466

其实只要定位好常用接口, 然后增加cache就可以了, 如果量还很大, 在考虑接入进来webman,

  • xb 5小时前

    确实 缓存用的好 什么都 快 ( ̄ヘ ̄) ,但是 工作量太大了 ,每个 add update 都需要更新缓存

使用thinkphp往往不是cpu100%的主要原因,去排查分析一下是什么场景下多少QPS的时候cpu100%了,找到原因是因为代码不合理还是服务器性能不够才可以更精确解决问题,不然即使整个项目都迁移webman也不一定能提升多少性能利用率

  • 暂无评论
shiroi

我现在公司用webman写了个websocket服务端,客户端那边跟ddos似的,8核100来人就顶不住了,cpu100%

  • xb 5小时前

    100 人都顶不住吗 我们 thinkphp 是 12核 http 2000 人次 左右顶不住 真实qps 也就300 - 400

  • xb 5小时前

    webman 加他的 纯种 sql 也顶不住吗 ,在文档看 webman 加他 sql 性能 看上去很牛逼

  • xb 5小时前

    不用 orm 的话

  • xb 5小时前

    techempower压测显示webman不管在纯文本、数据库查询、数据库更新等所有指标都高于gin近一倍左右。
    如果你的结果不一样,可能是因为你在webman中使用了ORM带来了较大的性能损失,可尝试 webman+原生PDO 与 gin+原生SQL 比较。

🔝