我的想法是否正确,除非我能够负担得起专用服务器或拥有任何备用服务器,否则我可以通过 EC2 成功运行少量内存缓存服务器?
亚马逊今天宣布了新的自动缩放和负载平衡,你们认为这是一个可行的选择吗?
您建议我采取哪些基本技术步骤?
谢谢
目前,我只有一台专用服务器,没有内存缓存服务器。我想使用 EC2 的强大功能来设置一些实例并运行此类 memcached 服务器。这是我当前的设置。
最佳答案
- 负载平衡与 Memcached 无关——它使用哈希算法连接到服务器
- 我强烈建议不要对 Memcached 使用自动缩放——添加服务器会破坏散列算法并使缓存失效。数据将会丢失,您将不得不重新缓存。
- 您需要检查从您的服务器到 EC2 的延迟——如果超过 50 毫秒,您将严重损害您的性能。好吧,无论如何我会假设。
您可以通过一个请求提取多个 key (请参阅 here for how )以减少延迟影响,但您仍然会受到初始攻击。这也意味着您需要在调用电话之前知道您将要获得的所有 key 。否则,每个请求都会使脚本的执行时间增加 50 毫秒(或更多)。
考虑您尝试缓存的数据。 64mb 的 slab 是否足够大以帮助您?您或许可以在主服务器上运行它。
关于php - EC2 上的内存缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879293/