cache + db 性能
最近自己实现了一个cache, 支持lru淘汰、数据统一时间的expire机制,比如在加入cache 5分钟后flush到db中。
value大小为15KB左右, innodb引擎。
测试了一下性能, 设置约 90%的cache命中(淘汰)率, 每秒约
250次左右写, 2500次左右读。
突然发现http://my.oschina.net/costaxu/blog/108568叙述的mysql性能数据; 自己实现的cache和mysql本身的性能基本没啥区别。
那么这个cache有什么用呢?
问题在于测试过程中限定了90%的命中, 那么读次数 : 写次数 就约为10 : 1。 而这个读写性能恰好与mysql相当。
如果命中率为95%,那么cache能支持每秒250次写, 5000次读。
如果命中率为99%,那么cache能支持每秒250次写, 25000次读。
。。。。。。。。。。。。。。。。。。。。。。。。读的极限值约为100w次。单机内存hash_map的存取次数
1) 如何提高mysql写性能? 数据分片到不同的mysql实例。 比如数据分布到2个实例上, 那么相当于cache的写能力就提高1倍至 500次/秒。
2) mysql写性能固定的情况下, 如何提高cache的写性能、保证cache的可用性? 可以观察用户高峰规律, 比如2小时后自动expire, 可以避免短时间峰值的同时会一起expire引起性能恶化:即时间稍微设长; 但是设长之后,增大了数据丢失的概率。
对比此时的mysql存储的表格式为<key, blob>, myisam性能更好。 innodb提供的事务是多余的。
innodb支持行锁,为什么写性能还不如myisam呢?
cache + db 性能相关推荐
- mysql表增加压缩属性_InnoDB列压缩,提升DB性能
作者 felixliang 腾讯游戏风雨十年,一直致力于带给玩家最好的快乐体验,为此也取得了巨大的成功. 腾讯游戏的后台数据库一直守护着亿万玩家的数据,提供着稳定透明的服务. 腾讯后台数据库大部分使用 ...
- DB性能调优之RAID比较
[事件描述]:同事处理60G的DB数据的时候,发现相同配置的RAID服务器处理和平时数据量一样的情况下,这次发了将近一个小时的时间. [事件分析]:对比两台DB服务器,配置相同,唯一不同的是平时处理十 ...
- Linux 3.10内核锁瓶颈描述以及解决-IPv6路由cache的性能缺陷
大量线程争抢锁导致CPU自旋乃至内核hang住的例子层出不穷. 我曾经解过很多关于这方面的内核bug: nat模块复制tso结构不完全导致SSL握手弹证书慢. IP路由neighbour系统对poin ...
- CPU CACHE优化 性能优化方法和技巧
转载来源:性能优化方法和技巧 系列目录 性能优化方法和技巧 性能优化的方法和技巧:概述 性能优化的方法和技巧:代码 性能优化的方法和技巧:工具 这是一个可以用一本书来讲的话题,用一系列博客来讲,可能会 ...
- 计算机的二级Cache的性能,电脑运行慢,发卡,检查一下CPU二级缓存-Cache是否打开了...
电脑运行慢,发卡,检查一下CPU二级缓存-Cache是否打开了 (2011-07-31 23:31:59) 标签: 杂谈 转自 http://zhidao.baidu.com/question/138 ...
- 插入10000条数据测试DB性能
1 -- ============================================= 2 -- Author: 肖 楠 3 -- Create date: 2007 ...
- buffer cache 深度解析
本文首先详细介绍了oracle中buffer cache的概念以及所包含的内存结构.然后结合各个后台进程(包括DBWRn.CKPT.LGWR等)深入介绍了oracle对于buffer cache的管理 ...
- 提高WordPress访问速度与性能的技巧总结
性能是任何成功网站的一个关键因素.越来越多的人选择使用WordPress搭建个人博客.CMS内容展示或是企业网站,但可能由于高流量或一些未知的原因,导致你的WordPress性能越来越低,尤其对于大多 ...
- 让WordPress达到最高性能的13个优化技巧
性能是任何成功网站的一个关键因素.越来越多的人选择使用WordPress搭建个人博客.CMS内容展示或是企业网站,但可能由于高流量或一些未知的原因,导致你的WordPress性能越来越低,尤其对于大多 ...
最新文章
- Linux下nginx支持.htaccess文件实现伪静态的方法!
- %02 java_02-java
- LC77 Combinations
- 【CodeForces - 569B】Inventory (标记,乱搞)
- Java多线程面试题与答案
- django-模板语言
- 函数使用了堆栈的字节超过_Go语言复习笔记——基本语法三之堆栈与字符串应用...
- C++程序设计基础(1)程序的编译和执行
- 百度文库免点券下载方法
- GD32F103ZKT6替换STM32F103调试手记
- 一个编辑的黑洞项目:编程日历背后的 “鬼级操作”
- android4.4.3版本root,碉堡了!ROOT精灵支持Nexus 5等Android4.4.3机型ROOT
- Docker Registry 详解
- html 播放amr ios,关于iOS设备播放amr格式的音频文件
- Failed to initialize NVML 长效解决方法
- heif heic 的区别_什么是HEIF(或HEIC)图像格式?
- 淘宝皇冠卖家过劳死 大家一定要劳逸结合啊,别太拼命啦
- 计算机与数学文化论文参考文献,数学文化论文,关于高中数学教学中数学文化相关参考文献资料-免费论文范文...
- 【什么情况下U盘会出现0字节?】
- 【转】最近公共祖先(LCA)
热门文章
- 【C++】20. const char *str[]、指针的字节长度等 分析
- Caffe代码导读(1):Protobuf例子
- 最实用的10个重构小技巧排行榜,您都用过哪些呢?
- Java 理论与实践: 垃圾收集简史
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
- 深度学习材料:从感知机到深度网络A Deep Learning Tutorial: From Perceptrons to Deep Networks
- 浅谈代码的执行效率(3):缓存与局部性
- boost源码剖析之:多重回调机制signal(上)
- Hadoop自带WordCount.java程序
- 2-09 CentOS系统参数优化