memcached mysql 性能测试_InnoDB memcached插件 vs 原生memcached对比性能测试
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对比性能测试相关推荐
- kfaka storm写入mysql_基于Storm+Kafka+Zookeeper锁+Memcached+mysql架构全方位系统Storm项目案例实战...
基于Storm+Kafka+Zookeeper锁+Memcached+mysql架构全方位系统Storm项目案例实战 适应人群 有一定Storm基础.Kafka基础.Memcached基础.Zooke ...
- SUSE Linux 11里Nginx+Resin+JSP+Memcached+MySQL安装配置整合
服务器运维与网站架构|Linux运维|X研究 let's face reality,loyalty to an ideal! 首页 Linux Nginx Security Shell 服务器架构 互 ...
- php memcached mysql_php memcached+Mysql(主从)
/* index.php 程序入口,用来构造sql(如查询,更新) config.php 配置参数(memcache,mysql) init.php 封装memcached操作(memca ...
- php memcached 实例,php memcached mysql开发详细实例
php教程 memcached mysql教程开发详细实例 Memcached的工作方式 以下的部分中,读者最好能准备一份memcached的源代码. Memcached是传统的网络服务程序,如果启动 ...
- MySQL数据库引擎介绍、区别、创建和性能测试的深入分析
深入理解MySQL的数据库引擎的类型 作者: 字体:[增加 减小] 类型:转载 本篇文章是对MySQL的数据库引擎的类型进行了详细的分析介绍,需要的朋友参考下 你能用的数据库引擎取决于mysql在 ...
- dedeCMS 静态页面的倒计时插件(原生VS自定义)
文章目录 一.动画效果 · 修改前后对比 二.修改文件的`路径`&&`名称`: 第一种方法:(自定义封装函数`daojishi()`) 首先: 然后: 第二种方法:(调用系统自带的函数 ...
- Memcached学习---(3)Windows 下安装 Memcached
Windows 下安装 Memcached 官网上并未提供 Memcached 的 Windows 平台安装包,我们可以使用以下链接来下载,你需要根据自己的系统平台及需要的版本号点击对应的链接下载即可 ...
- MySQL密码策略管理插件validate_password
小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL江湖路 | 专栏目录 自MySQL5.6版本,引入了新密码校验插件validate_password, 用于管理用户密码长度.强度等,保 ...
- 绿豆APP源码苹果CMS影视插件版本原生JAVA源码
纯净原版绿豆APP源码苹果CMS影视插件版本原生JAVA源码,这套绿豆源码相当完美运行非常流畅,纯原汁原味的绿豆UI,不是市面上被改的乱七八糟的版本,其实大家也清楚网上卖几百的也只是换个底图换个图标而 ...
最新文章
- 面向动态环境基于点的语义SLAM系统
- 几种常见的模式识别算法
- eclipse 和 myeclipse 字符编码设置
- python爬虫简单实例-最简单爬虫示例(入门级)
- 在Hi3531上运行QT
- 通过实例理解 Go 逃逸分析
- scss、sass 和 css 的区别
- 【Http】Apache HttpClient 4.5实现https
- OceanBase之oracle租户的使用体验
- iis php5.4配置_PHP5.4 + IIS + Win2008 R2 配置
- 【matlab】三维曲面
- JavaScript引入的三种方式(附实例)
- 在线class文件反编译java
- MTK平台手机刷机工具分享
- 计算机软件吸附效应,流体混合物吸附分离的分子模拟研究
- Rxjava + retrofit + dagger2 + mvp搭建Android框架
- 信息安全密码学:古典密码
- python协程多任务爬取虎牙美女主播图片
- emd 消除端点效应 matlab代码,对五种改善EMD端点效应的方法进行分析
- 概率,递推,找规律,高精度(FXTZ II,hdu 4043)
热门文章
- 计算机硬件基础-笔记
- 高仿维信安卓(读博客)
- PathAnimation
- 求树中某结点的父结点(长子-兄弟表示法)
- 2011-10-13
- Ubuntu报错:E: The repository http://ppa.launchpad.net/fcitx-team does not have a Release file.
- PulseAudio VS AudioFlinger(七)
- 【Android多媒体】Android5.0 NuPlayer多媒体框架【1】
- Android7.0预置带so的apk
- Ubuntu设置静态IP/网关