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天的试用期。做为一个后来者,倒是可以给他些时间,看看未来的表现如何。

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

MemSQL初体验 - (3)性能测试相关推荐

  1. MemSQL初体验 - 性能测试

    memsql 是一个内存数据库,很多人对memsql的性能有很大的误解.以下是mysql,mysql+handler,memsql性能测试的对比. 参考网站:http://space.itpub.ne ...

  2. MemSQL初体验 - (2)初始化测试环境

    2.配置测试环境 创建一个用户,方便后续使用: MemSQL> grant all on *.* to jss identified by "jss"  with grant ...

  3. MemSQL初体验 - (1)传说中速度最快的关系数据库软件

    最快的RDBMS数据库是哪个呢,之前人们会在ORACLE/SYBASE/DB2这类大型软件产品中争论不休,而后MSSQL SERVER/MYSQL这类的中小型数据库软件也加入战场,尽管论战热门非凡,但 ...

  4. 我的Go+语言初体验——Demo游戏体验篇(直男程序员的真实体验)

    目录 前言 环境说明 项目实测 Weather Dragon Clone Bullet Animation 总结 前言 接着我的上一篇:我的Go+语言初体验--语法验证/性能测试篇(直男程序员的真实体 ...

  5. 测试小白的心酸路之测试初体验

    测试初体验-来自测试小白的自述 本人是一个2021年应届毕业生,大三的时候去某家大厂实习过三个月的开发,那三个月自己仿佛老了10岁,天天跟代码打交道,作为一个自由主义者实在是有些熬不住,但是不想抛弃大 ...

  6. 【Spark深入学习 -15】Spark Streaming前奏-Kafka初体验

    ----本节内容------- 1.Kafka基础概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知识 1.2.2.架构和原理 1.2.3.基本概念 1.2.4.kafka特点 2.Kafk ...

  7. 苹果电脑安装python3密码_mac系统安装Python3初体验

    前沿 对于iOS开发不要随便拆卸系统自带的Python,因为有很多 library 还是使用 Python2.7. 1 安装Xcode 1.1 App Store 搜索Xcode 并安装 1.2 安装 ...

  8. MapReduce编程初体验

    需求:在给定的文本文件中统计输出每一个单词出现的总次数 第一步: 准备一个aaa.txt文本文档 第二步: 在文本文档中随便写入一些测试数据,这里我写入的是 hello,world,hadoop he ...

  9. 小程序 缩放_缩放流星应用程序的初体验

    小程序 缩放 by Elie Steinbock 埃莉·斯坦博克(Elie Steinbock) 缩放流星应用程序的初体验 (First Experiences Scaling a Meteor Ap ...

最新文章

  1. 数学图形之克莱因瓶(klein bottle)
  2. C#教程4:数据类型
  3. 基于物理的渲染-用真实的环境光照亮物体
  4. Inno Setup 检测已安装的.NET Framework 版本
  5. Eclipse常用插件之Top10
  6. 带着这篇去通关所有Handler的提问(三)
  7. android 一位小数_android如何保留小数点后x位数字
  8. flask页面中Head标签内容为空问题
  9. HIL自动驾驶仿真:VTD分布式显示配置详解
  10. PDF怎么转换成CAD?教你几步轻松掌握
  11. 怎么用计算机给u盘加密文件,使用u盘给电脑加密如何操作
  12. 钉钉用不同的手机签到后台怎么显示的代签到有用吗
  13. 51Nod 1278 相离的圆(好题)
  14. Unity制作出《超级马里奥》的2D和3D混合效果
  15. 关于齐次坐标的理解(经典)
  16. 李秘书讲写作:这节课的标题起什么好?
  17. Verilog HDL 硬件描述语言基础
  18. vue3种路由守卫详解
  19. 登录注册——注册输入验证
  20. 员工信息管理系统(JavaWeb结课项目)

热门文章

  1. 复制集配置文件linux,mongodb的复制集实现
  2. 【干货特供】dotNet core 应用部署至 centos(超详解附截图)
  3. springboot集成mybatis源码分析-mybatis的mapper执行查询时的流程(三)
  4. 穷不过三代,囧不过三个公司——程序员如何通过努力让自己看上去很光鲜
  5. springboot+shiro+redis项目整合
  6. jmeter命令行压测
  7. Spring框架集成mybatis框架的配置(笔记)
  8. canvas制作随机验证码
  9. SSL延迟有多大 (Https)
  10. 第 1 章 第 6 题 带重复数排序问题( 扩展 ) 位向量实现