MemSQL初体验 - (3)性能测试

    xiaoxiao2021-12-03  20

    3、性能测试

     在执行测试前必须首先说明一下本地的虚拟机测试环境:    MEM:2G   CPU:1 core   OS:CentOS 6.0   配置整体较差,其实是不适合做DB环境的性能测试的,尤其CPU/内存都不够强,对于测试MemSQL这种恰恰很依赖CPU的应用其实是很不公平地,可是手头上暂时未找到装了CENTOS6以上版本的实体机,因此临时拿它充数。不过测试前我自己心里也有预期,这个性能表现不会太好,结果只能说仅供参考,其实是不具备实际意义地。待过段时间有了空闲资源会考虑再做对比测试。

    这里先按照普通流程走一遍,大致看一下对比,先看看查询MySQL数据库时的性能:   

      [root@mysql1 script]# perl testquery-sql 20 4000    Thu Jun 21 14:14:52 2012   CPU:0  LOAD:2.78       GETS:7373   Thu Jun 21 14:14:53 2012   CPU:82.00      LOAD:2.78       GETS:3671   Thu Jun 21 14:14:54 2012   CPU:82.00      LOAD:2.78       GETS:3240   Thu Jun 21 14:14:55 2012   CPU:80.20      LOAD:2.78       GETS:3696   Thu Jun 21 14:14:56 2012   CPU:80.20      LOAD:2.78       GETS:3221   Thu Jun 21 14:14:57 2012   CPU:83.00      LOAD:2.78       GETS:3618   Thu Jun 21 14:14:58 2012   CPU:83.00      LOAD:4.24       GETS:3187   Thu Jun 21 14:14:59 2012   CPU:82.00      LOAD:4.24       GETS:3693   ............... ...............

    测试通过HandlerSocket插件访问MySQL库时的性能: 

      [root@mysql1 script]# perl testquery-hs 20 10000   Thu Jun 21 14:16:58 2012   CPU:0  LOAD:0.00       GETS:27213   Thu Jun 21 14:16:59 2012   CPU:53.00      LOAD:0.00       GETS:13318   Thu Jun 21 14:17:00 2012   CPU:53.00      LOAD:1.28       GETS:12645   Thu Jun 21 14:17:01 2012   CPU:52.00      LOAD:1.28       GETS:13282   Thu Jun 21 14:17:02 2012   CPU:52.00      LOAD:1.28       GETS:12674   Thu Jun 21 14:17:03 2012   CPU:51.00      LOAD:1.28       GETS:12051   Thu Jun 21 14:17:04 2012   CPU:51.00      LOAD:1.28       GETS:12687   Thu Jun 21 14:17:05 2012   CPU:52.00      LOAD:1.28       GETS:13336   ...............   ...............

    最后来看MemSQL的表现: 

      [root@mysql1 script]# perl testquery-mem 20 10000      Thu Jun 21 14:21:13 2012   CPU:0  LOAD:1.53       GETS:21938   Thu Jun 21 14:21:14 2012   CPU:70.00      LOAD:1.53       GETS:7212   Thu Jun 21 14:21:15 2012   CPU:70.00      LOAD:1.53       GETS:6417   Thu Jun 21 14:21:16 2012   CPU:72.00      LOAD:1.53       GETS:7320   Thu Jun 21 14:21:17 2012   CPU:72.00      LOAD:1.53       GETS:6477   Thu Jun 21 14:21:18 2012   CPU:69.00      LOAD:1.53       GETS:7365   Thu Jun 21 14:21:19 2012   CPU:69.00      LOAD:2.85       GETS:6493   Thu Jun 21 14:21:20 2012   CPU:71.00      LOAD:2.85       GETS:7389   ...............   ...............

    从性能对比上来看,比标准的SQL方式查询MySQL数据库确实要快一些,但性能提升没有想象的那么多,对比HandlerSocket插件方式访问,甚至性能还要差很多的。    但是开头也说了,虚拟机环境不太适合做DB的测试,这里的结果仅供参考。考虑到曾经在标配8核48G的Linux PC上测试HandlerSocket,峰值QPS能到10w,以此对比计划,估计好一点的机器上,MemSQL的QPS达到数万应该是没有问题的。    不过从上面这个结果对比实际上还是能看出些许差异地,我们注意到,这三个测试中,CPU占用率方面,传统SQL方式查询是最占CPU资源地,这与它执行时需要做大量SQL解析有直接关系,其次就是MemSQL方式,HandlerSocket的CPU占用率最低。在系统负载方面,也有相同的结论,所以,我目前倾向于认为,MemSQL的性能应当是不及MySQL服务加载HandlerSocket插件的表现地。    不过,由于MemSQL对于MySQL的良好兼容性,从MySQL转换成MemSQL的实施成本很低,几乎就是运维人员安装好软件,同步好数据就行了 ,我想在某些场景还是有其大展拳脚的舞台地。现在比较令人困惑的是MemSQL究竟会如何定位自己,从目前公开的信息来看,它还是想走商业化路径,在当前推出的版本中,开发版本可以免费使用,但是内存最多只能使用10G,试用版本倒无内存的限制,但是只有30天的试用期。做为一个后来者,倒是可以给他些时间,看看未来的表现如何。 

    ==========================================

    转载请注明原文地址: https://ju.6miu.com/read-680014.html

    最新回复(0)