返回信息流我试了一下,如果查询不包含图片字段,用时会降低很多,最慢也不到40ms,所以我觉得应该是mysql操作blob类型数据的性能问题,但因为业务需求,不能在表中存图片的url再重定向,这种情况有什么好的解决办法吗?
【----------------------------分割线----------------------------】
最近服务器遇上了数据库性能问题,数据库用的是mysql,后端用nodejs写;
因为业务需求表中存放了一些二进制数据(blob类型,存储图片),客户端发送get请求来select数据,发现请求不返回,调试发现是数据库操作太慢请求堆积。
于是怀疑是并发时数据库性能瓶颈的问题,于是做了一个实验:
30个并发请求select这张表中的数据,并给sql操作计时;结果发现越后面的请求sql操作时间越长,一开始是300+ms,最后一个是6000+ms;
我觉得这个并发量很小了,而且数据量也很小,但是为什么会有这种问题?会不会是mysql操作二进制文件的性能问题,还是并发时数据库的锁的问题?(sql操作用了事务,事务锁是npm包中自动加上的)
求大神指点一下,这种情况应该怎么优化?
这是一条镜像帖。来源:北邮人论坛 / database / #9901同步于 2016/5/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
【mysql 并发 性能问题!】
cocoray
2016/5/7镜像同步12 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
因为业务需求,不能重定向,我在想如果把存图片的属性分出来单独成为一张表会不会好一点?
【 在 liangpeili 的大作中提到: 】
: 二进制文件存到别的位置,数据库只放一个链接。MySQL虽然支持存二进制数据,但线上没这么用的
nosql或者对象存储里面,别放关系数据库
【 在 cocoray (i++) 的大作中提到: 】
: 放另外的表吗?
: 发自「贵邮」
通过『我邮2.0』发布
能说的详细点吗?数据库小白
【 在 feilengcui 的大作中提到: 】
: nosql或者对象存储里面,别放关系数据库
: 【 在 cocoray (i++) 的大作中提到: 】
: : 放另外的表吗?
: : 发自「
: .........
[url=http://guiyou.wangx.in]发自「贵邮」