返回信息流最近服务器遇上了数据库性能问题,数据库用的是mysql,后端用nodejs写;
因为业务需求表中存放了一些二进制数据(blob类型,存储图片),客户端发送get请求来select数据,发现请求不返回,调试发现是数据库操作太慢请求堆积。
于是怀疑是并发时数据库性能瓶颈的问题,于是做了一个实验:
30个并发请求select这张表中的数据,并给sql操作计时;结果发现越后面的请求sql操作时间越长,一开始是300+ms,最后一个是6000+ms;
我觉得这个并发量很小了,而且数据量也很小,但是为什么会有这种问题?会不会是mysql操作二进制文件的性能问题,还是并发时数据库的锁的问题?(sql操作用了事务,事务锁是npm包中自动加上的)
求大神指点一下,这种情况应该怎么优化?
这是一条镜像帖。来源:北邮人论坛 / mobile-internet / #7764同步于 2016/5/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileInternet机器人发帖
【后端数据库性能问题!!】
cocoray
2016/5/7镜像同步25 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
图片存成二进制后是蛮大的
【 在 spicewolf 的大作中提到: 】
: 按照你的说法,数据量很小, 但是300ms不像数据量很小噢。 我觉得你sql写得是不是有问题
:
发自「贵邮」