繁体   English   中英

Memcached on EC2

[英]Memcached on EC2

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

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

你建议我采取什么基本技术步骤?

谢谢

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

  • 负载平衡与Memcached无关 - 它使用哈希算法连接到服务器
  • 我强烈建议不要对Memcached使用自动缩放 - 添加服务器会破坏散列算法并使缓存无效。 数据将丢失,您将不得不重新安排。
  • 您需要检查从服务器到EC2的延迟 - 如果超过50毫秒,您将大大损害您的性能。 好吧,无论如何我都会假设。

您可以通过一个请求拉出多个键(请参阅此处了解如何 )以减少延迟效果,但您仍然可以使用初始命中。 这也意味着您需要知道在拨打电话之前要获得的所有密钥。 否则,每个请求会为脚本的执行时间增加50毫秒(或更多)。

考虑您尝试缓存的数据。 一块64mb的大板足够帮你吗? 您可以在主服务器上运行它。

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

最终,你可能会更好地将当前盒子上的ram提升到类似4演出(应该运行大约50美元)并将memcached放在主服务器上。 该文档实际上建议您在提供请求的同一服务器上安装memcached。 根据应用程序的大小及其作用,具有一两个演出的memcached实例可能比您需要的更多。

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

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

有关更多详细信息,请访问: http//aws.amazon.com/elasticache/

更一般地说:如果您想使用任何类型的缓存机制,那么让您的服务器非常接近您的缓存服务器是有意义的。 示例:数据库服务器和Memcached服务器,它们应位于相同的主机托管中,或相同的AWS“区域”。 如果您尝试使用缓存系统,那是因为您希望提高性能。 如果您将缓存系统远离服务器,那么您基本上就是在浪费所有的好处。

最好,

你当前的盒子里通常有多少可用内存? 你能不能在那里设置一个memcached实例? 我认为这可能是延迟/开销等。 从拥有远程缓存可以否定任何好处,但也许情况并非如此。

暂无
暂无

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

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