Memcached连接最大化

时间:2011-03-12 19:23:26

标签: ruby-on-rails memcached gem connection

我正在运行一个非常大的Rails应用程序。我们使用Memcached服务器池和Evan Reaver的gem memcached,并且有两个名称空间,一个用于对象/片段,一个用于会话。

我们使用一半的服务器用于会话,就像我们用于对象/片段一样。

出于某种神秘的原因,Rails应用程序仅打开memcached守护程序设置的最大可用连接的20-30%。它似乎也从列出的第一台服务器获取最大连接数。

有没有人对这种奇怪的行为有任何意见?

1 个答案:

答案 0 :(得分:0)

事实证明,解决方案非常简单。 每个服务器和memcache守护程序每个Ruby worker只能获得一个连接。

在所有Web服务器上获取Rails应用程序可能连接总数的数学计算方法可以简单计算:

  

x个Ruby工作者

     

多个Web服务器

     

z个memcache守护进程

     
     

=(x)(y)(z)为您提供所有memcached的总连接数   守护程序

请注意:如果您为会话运行memcache,那么这些连接是分开的。

我希望一切都这么简单。 : - )