InnoDB memcached插件 vs原生memcached对比性能测试

MySQL 5.6开始支持InnoDB memcached插件,也就是可以通过SQL高效读写memcached里的缓存内容,也支持用原生的memcache协议读写,并且可以实现缓存数据 持久化,以及crash recovery、mysql replication、触发器、存储过程等众多特性,详细介绍可以查看:Benefits of the InnoDB / memcached Combination。看起来非常诱人,那就测试下看看吧,是驴子是马拉出来溜溜便知。

环境准备测试机DELL PE R710

CPUE5620  @ 2.40GHz(4 core, 8 threads, L3 Cache 12 MB) * 2

内存48G(8G * 6)

RAID卡PERC H700 Integrated, 512MB, BBU, 12.10.1-0001

系统Red Hat Enterprise Linux Server release 6.4 (Santiago)

内核2.6.32-358.el6.x86_64 #1 SMP

raid级别raid 5(10K RPM SAS 300G * 6)

文件系统xfs

硬盘10K RPM SAS 300G * 6, 1 hotspare

测试方案方案一server端运行InnoDB MC,本地/远程调用memslap执行benchmark

方案二server端运行Native MC,本地/远程调用memslap执行benchmark

测试脚本cat memslap_run.sh#!/bin/sh

. ~/.bash_profile > /dev/null 2>&1

cd /home/mc-bench

exec 3>&1 4>&2 1>> memcache_memslap_${RANDOM}.log 2>&1

#不断循环

while [ 1 ]

do

#并发线程数 4 ~ 256

for THREAD in 4 8 16 32 64 128 256

do

#每种并发测试5次

count=1

max=5

while [ $count -le ${max} ]

do

#取样

echo "memstat"

memstat

# --flush 每次测试完毕钱,都先清空数据

# --binary 采用binary模式

# 初始化数据: 5000000, 每个并发线程存取数据量: 100000

# 并发256线程时, 总数据量可达 30,600,000

# 未指定 --test 选项,默认是进行 set 测试

memslap --server=mc_server:11211 --concurrency=${THREAD} --execute-number=100000 --initial-load=5000000 --flush --binary

count=`expr ${count} + 1`

#每次测试完毕后,都休息2分钟,等待服务器恢复空负载

if [ ${count} -lt ${max} ] ; then

sleep 120

fi

echo ""

echo ""

done

done

done

测试结果

1. 写MC线程数

耗时25612864321684

NativeMC(单位:1秒)104.31547.64624.48612.1626.3515.5255.078

InnoDBMC(单位:100秒)339.143168.1112827.6726511.269174.9685562.249881.104334

直接以曲线图方式对比:

nativemc-vs-innodbmc-benchmark-02-set-result-20130828

2. 读MC线程数

耗时4线程并发,2千万记录

本地Native MC198.5016

本地InnoDB MC327.239

远程Native MC846.286

远程InnoDB MC912.467

曲线图方式对比:

nativemc-vs-innodbmc-benchmark-03-get-result-20130828

结论

InnoDB MC看起来很美好,现实很骨感,其并发4线程写数据需呀的耗时,和原生memcached的256线程相当,差的不是一丁半点啊,还有很大优化空间。

而如果是缓存只读,InnoDB MC本地读取的效率大概是原生memcached的2/3,如果是远程读取,则相当于是本地读取效率的1/4 ~ 1/3。

建议应用场景

鉴于上面的测试结果,建议将InnoDB MC这么来用:

1. 数据写入通过触发器(trigger)或者调度器(event scheduler)将待缓存数据同步到InnoDB MC缓存表中;

2. 以memcache API方式,通过本地/远程读取InnoDB MC中的缓存记录;

3. 尽可能减少通过远程方式往InnoDB MC写缓存数据;

memcached mysql 性能测试_InnoDB memcached插件 vs 原生memcached对比性能测试相关推荐

  1. kfaka storm写入mysql_基于Storm+Kafka+Zookeeper锁+Memcached+mysql架构全方位系统Storm项目案例实战...

    基于Storm+Kafka+Zookeeper锁+Memcached+mysql架构全方位系统Storm项目案例实战 适应人群 有一定Storm基础.Kafka基础.Memcached基础.Zooke ...

  2. SUSE Linux 11里Nginx+Resin+JSP+Memcached+MySQL安装配置整合

    服务器运维与网站架构|Linux运维|X研究 let's face reality,loyalty to an ideal! 首页 Linux Nginx Security Shell 服务器架构 互 ...

  3. php memcached mysql_php memcached+Mysql(主从)

    /* index.php   程序入口,用来构造sql(如查询,更新) config.php  配置参数(memcache,mysql) init.php    封装memcached操作(memca ...

  4. php memcached 实例,php memcached mysql开发详细实例

    php教程 memcached mysql教程开发详细实例 Memcached的工作方式 以下的部分中,读者最好能准备一份memcached的源代码. Memcached是传统的网络服务程序,如果启动 ...

  5. MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

    深入理解MySQL的数据库引擎的类型 作者: 字体:[增加 减小] 类型:转载 本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下   你能用的数据库引擎取决于mysql在 ...

  6. dedeCMS 静态页面的倒计时插件(原生VS自定义)

    文章目录 一.动画效果 · 修改前后对比 二.修改文件的`路径`&&`名称`: 第一种方法:(自定义封装函数`daojishi()`) 首先: 然后: 第二种方法:(调用系统自带的函数 ...

  7. Memcached学习---(3)Windows 下安装 Memcached

    Windows 下安装 Memcached 官网上并未提供 Memcached 的 Windows 平台安装包,我们可以使用以下链接来下载,你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可 ...

  8. MySQL密码策略管理插件validate_password

    小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL江湖路 | 专栏目录   自MySQL5.6版本,引入了新密码校验插件validate_password, 用于管理用户密码长度.强度等,保 ...

  9. 绿豆APP源码苹果CMS影视插件版本原生JAVA源码

    纯净原版绿豆APP源码苹果CMS影视插件版本原生JAVA源码,这套绿豆源码相当完美运行非常流畅,纯原汁原味的绿豆UI,不是市面上被改的乱七八糟的版本,其实大家也清楚网上卖几百的也只是换个底图换个图标而 ...

最新文章

  1. 面向动态环境基于点的语义SLAM系统
  2. 几种常见的模式识别算法
  3. eclipse 和 myeclipse 字符编码设置
  4. python爬虫简单实例-最简单爬虫示例(入门级)
  5. 在Hi3531上运行QT
  6. 通过实例理解 Go 逃逸分析
  7. scss、sass 和 css 的区别
  8. 【Http】Apache HttpClient 4.5实现https
  9. OceanBase之oracle租户的使用体验
  10. iis php5.4配置_PHP5.4 + IIS + Win2008 R2 配置
  11. 【matlab】三维曲面
  12. JavaScript引入的三种方式(附实例)
  13. 在线class文件反编译java
  14. MTK平台手机刷机工具分享
  15. 计算机软件吸附效应,流体混合物吸附分离的分子模拟研究
  16. Rxjava + retrofit + dagger2 + mvp搭建Android框架
  17. 信息安全密码学:古典密码
  18. python协程多任务爬取虎牙美女主播图片
  19. emd 消除端点效应 matlab代码,对五种改善EMD端点效应的方法进行分析
  20. 概率,递推,找规律,高精度(FXTZ II,hdu 4043)

热门文章

  1. 计算机硬件基础-笔记
  2. 高仿维信安卓(读博客)
  3. PathAnimation
  4. 求树中某结点的父结点(长子-兄弟表示法)
  5. 2011-10-13
  6. Ubuntu报错:E: The repository http://ppa.launchpad.net/fcitx-team does not have a Release file.
  7. PulseAudio VS AudioFlinger(七)
  8. 【Android多媒体】Android5.0 NuPlayer多媒体框架【1】
  9. Android7.0预置带so的apk
  10. Ubuntu设置静态IP/网关