memcached在远程服务器上速度明显较慢的原因是什么?
我有一个带有12GB内存的PHP/Apache服务器。我一直在使用6GB分配RAM的同一台计算机上运行Memcached。memcached在远程服务器上速度明显较慢的原因是什么?
我想在单独的服务器(相同的数据中心,vlan,子网)上运行Memcached,就像我为MySQL做的一样。我使用相同的memcached配置设置了一个单独的,相同的服务器。
我在远程服务器上看到的使用Memcached的页面加载时间大约是我在本地运行时得到的10倍。我已经准备好了这两个缓存,而且我仍然可以从远程获得10倍的加载时间。
我很难解决这个问题。
仅供参考,DDR3-1333约为10667 MB/s。
如果你有,比方说,千兆以太网卡,我想这可以解释一些你所遇到的问题...
我确实在服务器之间有DDR3和千兆位。 – jaredstenquist
因此,要恢复,10GB/s(内存本地)与1GB/s(以太网 - 远程)......不是说它的速度比远程服务器低10倍吗? – Macmade
虽然我没有移动10GB的数据。我在每个页面加载中检索一组键 - >值对,每个对都非常小。总的来说,我将在服务器之间移动少于500kb的数据。 – jaredstenquist
你每次加载数据页面加载的500KB,在所有小钥匙?每个页面载入的密钥数量是多少?
到远程服务器的延迟非常低,但运行多次往返仍然是一个坏主意。 Memcached客户端支持多重获取操作,在这种操作中,您可以将许多密钥批量分配到单个请求/响应中,并且延迟更低。
您如何看待从远程服务器检索数据?!? – Macmade
要跟进Macmade的评论:什么是*延迟*差异?这应该考虑到不同之处:为了比较,与以太网相比,本地连接实际上没有通信延迟。考虑运行一些测试来增加(或减少)相对较小规模的memcached查询的数量,以查看它是如何适应页面加载时间的。 – 2011-11-17 19:14:56
猜猜别人应该明确地发明RAM远距传物... – Macmade