memcache命中率问题

laozhao0000 2014-02-07 04:12:50
这个问题纠结了很长时间,贴出来请大牛们帮忙分析。

生产环境:
5台PHP服务器作负载均衡,每台机器上分别装了memcache,程序在使用cache时将5台memcache作为一个集群。

问题:
STATS出来的结果丢失率很高,命中率只达20%,(需要说明的是每台的使用率都不高--程序用的少),miss值并非均匀分布,呈每5分钟整点递增200+的态势。

问题排查:
1.crontab (环境很复杂,但可以确定生产服务没有开启)。
2.在程序里记录5分钟定点的miss key,无异常。


STATS:

Current Items(total) 2051 (14542)
Hits 134416
Misses 492000
Request Rate (hits, misses) 0.07 cache requests/second
Hit Rate 0.01 cache requests/second
Miss Rate 0.05 cache requests/second
Set Rate 0.00 cache requests/second
...全文
339 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
laozhao0000 2014-02-07
  • 打赏
  • 举报
回复
引用 5 楼 longxuu 的回复:
[quote=引用 4 楼 laozhao0000 的回复:] [quote=引用 3 楼 longxuu 的回复:] 启动的时候加参数 -M试试
这个是个memcache 的LRU有关吧 Free: 2.0 GBytes (100.0%) Hits: 134416 (21.5%) Used: 521.5 KBytes (0.0%) Misses: 492000 (78.5%) 这种情况会开启LRU吗?[/quote] memcache不像其它带有队列功能的Nosql,其本身自带的lru是用来保证新数据能够正常缓存的,禁止lru可以防止数据被系统策略性丢弃,我个人的建议是你在没有获取到更好的解决方案之前,可以试试[/quote] 因为是在生产环境,所以对配置的更改和对memcache的重启都是不允许的 确实蛮纠结,,,
longxuu 2014-02-07
  • 打赏
  • 举报
回复
引用 4 楼 laozhao0000 的回复:
[quote=引用 3 楼 longxuu 的回复:] 启动的时候加参数 -M试试
这个是个memcache 的LRU有关吧 Free: 2.0 GBytes (100.0%) Hits: 134416 (21.5%) Used: 521.5 KBytes (0.0%) Misses: 492000 (78.5%) 这种情况会开启LRU吗?[/quote] memcache不像其它带有队列功能的Nosql,其本身自带的lru是用来保证新数据能够正常缓存的,禁止lru可以防止数据被系统策略性丢弃,我个人的建议是你在没有获取到更好的解决方案之前,可以试试
laozhao0000 2014-02-07
  • 打赏
  • 举报
回复
引用 3 楼 longxuu 的回复:
启动的时候加参数 -M试试
这个是个memcache 的LRU有关吧 Free: 2.0 GBytes (100.0%) Hits: 134416 (21.5%) Used: 521.5 KBytes (0.0%) Misses: 492000 (78.5%) 这种情况会开启LRU吗?
longxuu 2014-02-07
  • 打赏
  • 举报
回复
启动的时候加参数 -M试试
laozhao0000 2014-02-07
  • 打赏
  • 举报
回复
引用 1 楼 ywq0127 的回复:
memcache服务器之间是否做了同步?
直接hash分布的,无需做同步。
ywq0127 2014-02-07
  • 打赏
  • 举报
回复
memcache服务器之间是否做了同步?

20,395

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧