Php Memcached在EC2上

Php Memcached在EC2上,php,memcached,amazon-ec2,load-balancing,Php,Memcached,Amazon Ec2,Load Balancing,在我能够负担得起专用服务器或拥有任何备用服务器之前,我是否可以通过EC2成功运行少量memcached服务器 随着亚马逊今天宣布新的自动扩展和负载平衡功能,你们认为这是一个可行的选择吗 您建议我采取哪些基本技术步骤 谢谢 目前,我有一个专用服务器,没有memcached服务器。我想使用EC2的强大功能来设置一些实例并运行这样的memcached服务器。这是我当前的设置。您当前的盒子上通常有多少可用内存?你能不能在那里设置一个memcached实例?我认为远程缓存的延迟/开销等可能会抵消任何好处,

在我能够负担得起专用服务器或拥有任何备用服务器之前,我是否可以通过EC2成功运行少量memcached服务器

随着亚马逊今天宣布新的自动扩展和负载平衡功能,你们认为这是一个可行的选择吗

您建议我采取哪些基本技术步骤

谢谢


目前,我有一个专用服务器,没有memcached服务器。我想使用EC2的强大功能来设置一些实例并运行这样的memcached服务器。这是我当前的设置。

您当前的盒子上通常有多少可用内存?你能不能在那里设置一个memcached实例?我认为远程缓存的延迟/开销等可能会抵消任何好处,但可能不是这样。

要真正利用memcached,您需要让memcache尽快与代码通信。您可能需要调查EC2服务器和您自己的服务器之间的延迟

最终,您可能会得到更好的服务,将当前机箱上的ram增加到4 Gig(运行成本约为50美元),并将memcached放在主服务器上。文档实际上建议您在处理请求的同一台服务器上安装memcached。根据应用程序的大小和功能,一个带有一两个gig的memcached实例可能远远超出您的需要

此外,如果您没有使用像APC或Eaccelerator这样的php对象缓存引擎,这也会有所帮助

  • 负载平衡与Memcached无关——它使用哈希算法连接到服务器
  • 我强烈建议不要对Memcached使用自动缩放——添加服务器会破坏哈希算法并使缓存无效。数据将丢失,您必须重新设置
  • 您需要检查从服务器到EC2的延迟——如果延迟超过50ms,您的性能将受到显著影响。好吧,我想无论如何
您可以通过一个请求拉动多个键(请参阅),以减少延迟效果,但您仍然会接受初始点击。这也意味着在你打电话之前,你需要知道你要拿到的所有钥匙。否则,每个请求会使脚本的执行时间增加50毫秒(或更多)

考虑您试图缓存的数据。64mb的平板足够大吗?您可能可以在您的主服务器上运行它。

更多一般信息: 如果您想使用任何类型的缓存机制,让服务器离缓存服务器非常近是有意义的。示例:数据库服务器和Memcached服务器,它们应该位于同一个托管位置,或相同的AWS“区域”。 如果您尝试使用缓存系统,是因为您希望提高性能。如果你把缓存系统从服务器上移开,你基本上是在浪费所有的好处


最棒的是,

最近AWS发布了一项新的web服务—Amazon ElasticCache。此服务是Memcached的协议投诉服务


有关更多详细信息,请参阅:

您能详细说明一下您目前拥有的设备吗?当前的设备大约有512MB。我不喜欢在这台机器上运行memcached实例,我认为随着使用量的突然激增,我当前机器上的实例会很快被填满。点头-你没有说明你的配置。吹毛求疵:我想你指的是“操作码”缓存引擎;虽然APC和eAccelerator也提供了一个简单的对象缓存,但操作码缓存是它们通常安装的目的。届时,我将考虑为我当前的机器购买更多内存。你认为在我的机器上缓存2GB的内存,然后再加上几个亚马逊服务器是可行的吗?这取决于你想要达到的目标。Memcached是一种“安装和调整”的东西。由于您运行的是一台512MB的专用服务器,仅2gb可能就足够了。我会尝试2GB实例,看看它在哪里得到你,然后考虑E2服务,如果这是不够的。哇,非常感谢你通知我关于自动缩放问题。我一定会考虑到这一点。我可以问一下,如何使用PHP提取多个键?我添加了一个使用Memcached库的方法的链接。所有库都应该支持它。ElasticCache基本上是在实例上运行的memcached。省下你自己的钱,自己管理它。。。memcache安装起来很简单。我不知道memcache安装起来有多简单。。。我已经试着安装了3个小时了。一点也不简单。也许一旦你记下来,对你来说很容易,但并不简单。。。