Facebook在Memcached的实际应用中,发现了Multiget无底洞问 题,具体表现为:出于效率的考虑,不少Memcached应用都已Multiget操做为主,随着访问量的增长,系统负载捉襟见肘,遇到此类问题,直觉通 常都是经过增长服务器来提高系统性能,可是在实际操做中却发现问题并不简单,新加的服务器好像被扔到了无底洞里同样毫无效果。 html
…… 前端
问题是不少客户端,包括Libmemcached在内,在处理Multiget多服务器请求时,使用的是串行的方式!也就是说,先请求一台服务器,而后等待响应结果,接着请求另外一台,结果致使客户端操做时间累加,请求堆积,性能降低。 node
选择特殊键值进行散列,『保证相关的键只出如今一台服务器上』。