在发出“统计信息”请求之前,Memcached不会响应“获取”请求

时间:2014-04-16 17:02:56

标签: memcached

从内部网络外部的服务器访问并使用不同的域名时,我遇到了让memcached工作的问题。我不确定这些东西中是否有一个,两个,或两者都不是问题,但似乎值得注意。

从内部服务器(int.edu),我可以telnet memcached服务器(mem.edu),一切都很好:

a1)的

  • telnet mem.edu 11211
      发生
    • 连接
  • 得到foo
    • 服务器响应
  • 退出
    • 退出

因为上面的例子,我知道我的memcached服务器正在运行。

从外部服务器(ext.org),我可以telnet memcached服务器(mem.edu),但奇怪的事情发生了:

B1.0)

  • telnet mem.edu 11211
      发生
    • 连接
  • 得到foo
    • 服务器挂起,直到我开始(几分钟内)

B2.0)

  • telnet mem.edu 11211
      发生
    • 连接
  • 获取版本
    • 服务器响应
  • 得到foo
    • 服务器挂起,直到我开始(几分钟内)

b3.0)

  • telnet mem.edu 11211
      发生
    • 连接
  • 统计
    • 服务器响应
  • 得到foo
    • 服务器响应
  • 得到foo2
    • 服务器响应
  • 退出
    • 退出

因此,只要在发出任何“get foo”请求之前发出“stats”请求,那么一切都正常。我不知道为什么会这样?

我尝试过使用super verbose memcached日志记录,但内部服务器与外部服务器之间的日志没有任何差异。

我已经与我的IT部门进行了交谈,并确认端口11211已打开,因为DMZ地址能够连接到memcached服务器(这是有意义的,因为我可以telnet mem.edu)

我(搜索不成功)搜索了搜索结果,但似乎没有任何效果。

我使用iptraf(sudo apt-get install iptraf)来监控正在发生的流量。这是这个难题的另一个有趣的部分......使用与以前相同的示例为外部服务器(ext.org):

B1.1)

  • telnet mem.edu 11211
      发生
    • 连接
    • ext.org发出传出请求
    • mem.edu收到请求并回复
  • 得到foo
    • 服务器挂起
    • ext.org发出传出请求
    • mem.edu永远不会收到请求
    • ext.org继续发出更多传出请求,直到连接结束并开始启动

B3.1)

  • telnet mem.edu 11211
      发生
    • 连接
    • ext.org发出传出请求
    • mem.edu收到请求并回复
  • 统计
    • 服务器响应
    • ext.org发出传出请求
    • mem.edu收到请求并回复
  • 得到foo
    • 服务器响应
    • ext.org发出传出请求
    • mem.edu收到请求并回复
  • 得到foo2
    • 服务器响应
    • ext.org发出传出请求
    • mem.edu收到请求并回复
  • 退出
    • 退出
    • ext.org发出传出请求
    • mem.edu收到请求并回复

以下是有关我们系统的一些信息:

Memcached版本1.4.4

Memcached是从init脚本启动的,但这里是使用的命令:

/usr/bin/memcached -P /var/run/memcached/memcached_11211.pid -d -p 11211 -u memcached -c 1024 -m 64 -vvv

Memcached服务器:mem.edu(CentOS 6.4) - 位置:内部(防火墙规则等)

请求server1:ext.org(Ubuntu 12.04.2 LTS) - 位置:DMZ

请求server2:int.edu(Ubuntu 12.04.2 LTS) - location:internal

0 个答案:

没有答案