现在系统运行的时候 用户请求 经常会失败 或者很卡。查看mysql 发现有很多慢日志。和mysql已取消的请求 有好几千 用的是 Db::table(xxxx)->where->first() 这种查询模式
现在的问题是 想知道 怎么查看 为什么有这么多MYSQL链接被占用
难道是进程和队列开的太多了吗
webman 只会一个进程占用一个mysql连接 假如你一共有50个进程 就只会占用50个mysql连接,而且是长链接 不会释放那种,你这种肯定不是webman连接的,应该是你的代码 或者 其他项目占用的
谢谢大佬 回复 我想问下 如果webman数据库操作失败 直接报错了 那请问当前这个连接是不是一直不释放 进程也会一进卡着么?还是说进程重启
你无需里面它怎么操作吧,框架都帮你处理好了,你直接使用Db 正常使用即可,慢sql的原因是你的业务问题或者你的sql写的问题,加索引优化一下就好了,可以缓存的就缓存不要一直跑数据库
是的 但现在订单表中就30万数据而已!!!这点数据 可能都不需要cache!!! 结果发现会出出502..。。 看来只能加上cache了
可以看一下错误日记呢,30W不走索引也没问题的,可能是别的问题
难道是进程和队列开的太多了吗
webman 只会一个进程占用一个mysql连接 假如你一共有50个进程 就只会占用50个mysql连接,而且是长链接 不会释放那种,你这种肯定不是webman连接的,应该是你的代码 或者 其他项目占用的
谢谢大佬 回复
我想问下 如果webman数据库操作失败 直接报错了 那请问当前这个连接是不是一直不释放 进程也会一进卡着么?还是说进程重启
你无需里面它怎么操作吧,框架都帮你处理好了,你直接使用Db 正常使用即可,慢sql的原因是你的业务问题或者你的sql写的问题,加索引优化一下就好了,可以缓存的就缓存不要一直跑数据库
是的 但现在订单表中就30万数据而已!!!这点数据 可能都不需要cache!!! 结果发现会出出502..。。
看来只能加上cache了
可以看一下错误日记呢,30W不走索引也没问题的,可能是别的问题