`
san_yun
  • 浏览: 2597299 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

集中化管理memcached的想法

 
阅读更多
现在线上web服务器都是直接使用memcached,虽然简单但存在几个问题:

1.连接数过高,按照线上的做法,10台memcached服务器,python 24个进程,假设每个进程对每台memcached平均建立5个链接(和并发数有关),24*10*5=1250个链接左右。

2.比较难按照key的纬度来统计命中率。

3.增加减少memcached服务器需要发布,如果再加上jython,更加麻烦。

4.python的memcached客户端存在问题,这是某天上午11点memcached的连接数情况:



在某台机器上面打点(ms):
get :1:django.contrib.auth.models:user:520972 cost:144.784927368
get :1:people.models:user_profile:uid:858606 cost:128.968000412
from user:feed:inbox:968556 delete 39880879
get :1:upload.models:uploadfile:303396 cost:130.69486618
get :1:upload.models:uploadfile:5058746 cost:110.372066498
get :1:django.contrib.auth.models:user:264494 cost:177.248001099
get :1:upload.models:uploadfile:322311 cost:100.141048431
get :1:django.contrib.auth.models:user:6183 cost:152.912139893
get :1:people.models:user_profile:uid:1016006 cost:188.986063004



我的想法是把memcached抽象成一个cache服务器,python服务器只依赖这台cache服务器,而不用关心这台cache服务器使用的究竟是何种cache以及存储方式。如下:





  • 大小: 8.9 KB
  • 大小: 32.2 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics