1
回答
mysql存储过程性能引出的一个问题
华为云数据库免费试用   

 

新手求教。

一个业务需求:分布式storm调用mysql存储过程,存储过程对几张表进行更新,并返回结果。要求上万次处理/秒,测试发现storm其他逻辑性能没问题,但mysql这里遇到了性能瓶颈。试了一下,即使是一个简单的select a from b where c=d and e=f这样的语句,1000多条记录的表,在mysql中每秒也就2000+次。试了sqlite,cassandra和H2等几个内存数据库,同样的表,同样的sql语句,发现居然只有H2比mysql好,其他几个性能还不如Mysql。但即使是H2,也只能达到4500/s。

可是各种地方都写着内存数据库的性能要高出mysql几个数量级,每秒千万次的事务等等。我的服务器硬件条件不差啊,为什么比人家的低了5个数量级?

试了一下用java的hashmap,用id做key,其他column做value,用value去查key,基本能到25000/s,能够符合业务需求。但是业务要求这个表维护在一个”公共“区域,几个节点都能访问到,而不是每个节点维护一个实例。

现在脑子里已经一团浆糊了,似乎storm又不能像spark那样维护公共变量。

need help!

 

 

 

 

举报
cabbagemk
发帖于1年前 1回/131阅
顶部