设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
查看: 29342|回复: 10

MongoDB和MySQL性能测试及其结果分析(2)

[复制链接]
 楼主| 发表于 2014-5-15 10:15:28 | 显示全部楼层 |阅读模式

二、测试结果(请见原文中图片)


三、测试分析总结


1、 I/O读写情况


从插入情况下的TPS数据可以看出, MySQL、HandlerSocket和Mongodb的数据有比较明显的差别,这主要跟他们的内部实现和测试方式有关系。


测试场景下MySQL采用的是单条Insert的方式,所以可以看出QPS数和TPS数是基本一致的,也就是每个Insert操作,都对应有一次I/O写入操作。可以从MySQL数据库本身做一些优化,这次测试没有覆盖到这种场景。


HandlerSocket内部采用的是Bulk Insert操作,所以,可以看出QPS数明显大于TPS数,批量的插入操作明显提高了整体性能。


Mongodb内部采用合并操作的方式,采用数据先存放到内存中,然后再Flush到磁盘上的方式。所以,从测试数据可以看出,TPS曲线坡度非常大:有时候TPS是零,这时候是还放到内存中,还没有Flush到磁盘上;有时候TPS非常高,同时这时候CPU也非常高,几乎是100%,这时候是在做Flush到磁盘的操作。基于此种机制,以后会再做一些更细化的优化和测试,因为这样有可能会存在几种问题:


第一, 可能会导致某个时间段IO和CPU的压力非常大,甚至达到峰值,这种情况下,服务的整体健康状态将面临着一些挑战。


第二, 如果服务器重启,可能会出现数据丢失的情况,内存中的数据还没有Flush到磁盘的会丢失。当然这种情况是两面性的,因为采用这种方式,从测试结果也可以看出,整体的写入性能比MySQL和HandlerSocket都高,这是一种取舍,就看具体业务是否可以接受这样的以高性能换取数据可靠性,有些业务可能是可以接受的,比如Feed。


2、 CPU占用情况


从查询情况下的CPU数据可以看出,MySQL和Mongodb几乎都接近100%,而HandlerSocket由于省去了各种Sql Parser和相关的操作,CPU占用率保持在40%-60%之间,在一个比较合理的范围内。


从插入情况下的CPU数据可以看出,HandlerSocket的CPU占用率还是保持在40%-60%之间,低于MySQL和Mongodb。MySQL和Mongodb大部分情况保持在50%-90%之间。


3、 QPS情况


从查询情况下的QPS数据可以看出,HandlerSocket和Mongodb的查询性能几乎差不多,都达到3万以上,并且随着数据量的增长,性能没有回落,还是保持在3万以上。目前只是最大测试到5000万数据的情况,更高的数值这次测试还没有覆盖到。而MySQL的性能相比之下则差一些,一般在18000到25000之间。当然这次没有太多的针对MySQL做优化,只是增大了innodb_thread_pool大小和每次分配的数据块的大小,如果针对MySQL做优化,可能能同时提高HandlerSocket和MySQL的性能。


从插入情况下的QPS数据可以看出,Mongodb明显占有比较大的优势,这根之前说的它的实现方式有关。随着数据量的增长,QPS都相应的在减少,这方面,MySQL的幅度最大,数据量到达5000万以上时,MySQL的插入性能为2000-3000,而HandlerSocket能保持在1万以上,Mongodb为2万以上。






查看原文




去LUPA人才芯片工程逛逛吧:www.lupa.cn

发表于 2014-5-15 13:53:02 | 显示全部楼层
这这这,也太懒了吧
发表于 2014-5-15 14:02:22 | 显示全部楼层
MySQL、HandlerSocket和Mongodb的数据还是有比较明显的差别的
发表于 2014-5-15 14:09:00 | 显示全部楼层
Mongodb还是有很多优势的
发表于 2014-5-15 14:17:35 | 显示全部楼层
先存放到内存中,然后再Flush到磁盘上,这样不是很麻烦么
发表于 2014-5-15 14:23:10 | 显示全部楼层
被你打败了,到底是有多懒,才会图片都不放啊
发表于 2014-5-15 14:31:09 | 显示全部楼层
分析是分析的不错啦
发表于 2014-5-15 14:38:42 | 显示全部楼层
所以,结果呢?光分析不总结的啊
发表于 2014-5-15 14:49:36 | 显示全部楼层
分析好了就好了啊,结论么自己也能得出来咯
发表于 2014-5-15 14:58:02 | 显示全部楼层
楼主,你敢不敢再懒一点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187  

快速回复 返回顶部 返回列表