如何提高服务器缓存命中率
来源:互联网 发布:微盘今日数据 编辑:程序博客网 时间:2024/05/19 21:59
1.通过使用多级hash缓存:
假如一个hash表数据存储在一个arr[size]数组中,那么元素位置计算方式为:int location = key%size;但是不同key,可能有相同的位置,这样就会造成缓存命中率下降,
解决办法:多维数组,20-25行,每行10000列,根据离散数学余数原理,每行最大元素个数离10000最近的质数最好,而且每行依次递减
例如9997 9991 当key%9997 时,如果存储位置已经存在元素,则key%9991,这样能提高缓存命中率,当然也会有不能加入缓存的元素,对于这部分数据,可以写到磁盘上,索引文件映射到内存中,这样可以通过索引快速定位到数据文件中的数据 ,然后把文件中的数据添加到内存中,这样获取数据反应速度会降低
2.如果对缓存数据可靠性要求高,不考虑多线程情况下,对于共享内存数据读取可以使用volidate(同步)关键字
3.数据大小不同业务对应不同缓存实例,memcache基本单位是page(默认1M),一个slab多个page,一个page多个chunk,item是数据值占的内存的大小,根据chunk大小选择;slab之间大小通过增长因子控制(默认1.25)
通过判断 get_miss/(get_miss+get_hit)、evictions(memcache内存满后删除旧item数目)
0 0
- 如何提高服务器缓存命中率
- 如何提高缓存命中率
- MySQL缓存命中率概述及如何提高缓存命中率
- MySQL缓存命中率概述及如何提高缓存命中率
- 提高Memcached缓存命中率
- 如何提高国家自然科学基金命中率
- 如何提高命中率
- Squid如何提高命中率
- 提高squid缓存的命中率
- 提高squid缓存的命中率
- 合理配置MySQL缓存 提高缓存命中率
- 合理配置MySQL缓存 提高缓存命中率
- 合理配置MySQL缓存 提高缓存命中率
- 合理配置MySQL缓存 提高缓存命中率
- oracle认证:提高Oracle数据库缓存命中率
- 有效提高命中率的缓存设计
- [Mysql]合理配置MySQL缓存 提高缓存命中率
- 合理配置MySQL缓存 提高缓存命中率(转)
- UIImageView
- URAL 1998 The old Padawan
- 英雄会(csdn pongo)题解之朋友的礼物
- unity项目异步加载来避免加载一个项目所消耗时间过长
- 0.0寒假搞笑作->最强逻辑题的最直观代码实现
- 如何提高服务器缓存命中率
- 一步一步学epoll同时处理海量连接的代码
- debug报错
- Cocos2d-x学习之windows 7 android环境搭建
- Java语言学习要求
- ACM POJ 2001 (Shortest Prefixes)
- 网址优化技巧要注意什么
- PHP实现队列(Queue)数据结构
- linux 物理内存读写