繁体   English   中英

Amazon EC2中的Memcached延迟

[英]Memcached Latency in Amazon EC2

我打算仅将Amazon EC2主机用于MemCache。我的Web应用程序将驻留在共享托管服务器上,并将与Ec2通信以查询Memcache。 此设置的性能如何。

问候,穆吉尔。

不想批评您对体系结构的选择,但这听起来像是您摆在优先位置。 Memcache不需要巨大的盒子就可以运行; 它只需要您愿意提供的内存就可以了。 它的好处是它在向/从其推入/拉出信息时所提供的速度。 将MC盒放置在内部网络(无论是否为EC2)之外,基本上会破坏使用MC盒的效率。 假设您在一个数据库请求上节省了100毫秒,但到EC2的延迟为50毫秒。 您仍然浪费了本来可以利用的49毫秒。

共享主机(对于很多大型应用程序)绝对是垃圾。 如果您有一个足够大的项目来需要您的CACHING服务使用EC2盒子的功率,那么您肯定做错了。 这是我的建议:将您的应用程序移至EC2,并将Memcached实例托管在同一框中。 开销并不可怕,如果您打算扩展缓存,只需启动另一个框并将您的应用程序指向 MC实例即可。

另一种选择是使用价格较低的VPS主机,例如LinodeSlicehost 两者在社区中都享有很高的声誉。 如果我没记错的话,Foursquare的某些部分甚至都由Slicehost托管。 这些都是非常便宜的VPS解决方案(与许多共享解决方案相比;使用MediaTemple之类的工具逐点查看它们),并且可以轻松扩展。 假设您以20美元的MC实例Linode盒子开始。 因为您不在EC2上,所以每月可以节省大约50美元。 如果您将托管转移到另一个每月$ 20的Linode,则您可能要支付相同的费用(如果您使用共享托管,则可能要多一些)。 另外,如果将Linodes放在同一数据中心,则Web应用程序和缓存之间的延迟几乎没有。

假设您要增强MC盒的性能。 只需启动另一个运行MC的框并删除旧的框即可。 您可以关闭一个并重新设置它的大小,但是这样会导致宕机(但这仍然是一种选择)。

希望这可以帮助!

马特

听起来这不是一个好主意,您的Memcached调用将通过Internet传输(与当您将ec2用于Web应用程序相反,那时您的Memcached调用仅在亚马逊数据中心内,而且速度非常快(甚至在同一台机器))。

如果要获得EC2实例,则应在EC2上运行Web应用程序,并在其中添加一些内存缓存(如果需要更高的性能)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM