【问题标题】:Using ElastiCache with RDS for improving read/write performance将 ElastiCache 与 RDS 结合使用以提高读/写性能
【发布时间】:2012-07-05 07:52:54
【问题描述】:

我在亚马逊上使用带有 MySQL 接口的 RDS。我的应用程序在 EC2 节点上运行并读取/更新数据库,但是读取和写入的次数太多,从而降低了性能。大多数情况下,连接数超过了允许的限制。 我正在考虑使用 Elasticache 来提高性能,但是我没有在网上找到资源,如何配置数据库以有效地使用它。 这是提高我的读/写性能的最佳方法吗? 有什么建议吗?

【问题讨论】:

    标签: mysql performance amazon-ec2 amazon-elasticache


    【解决方案1】:

    您不能只是“打开”内存缓存。您需要编写与 memcache 交互的代码,以便将数据库查询结果缓存在 memcache 中。看看这个用户指南——我认为它会给你一个关于如何使用 memcache 的好主意:

    http://www.memcachier.com/documentation/memcache-user-guide/

    【讨论】:

      【解决方案2】:

      性能与所用查询的类型和结构有关,因此可能存在一些优化空间。也许您可以提供有关所使用的确切查询的更多详细信息。但是,您可以从不同的角度解决这个问题 - 如果您有自动缩放功能,您可以在需要时简单地将数据库扩展到其他机器,这样即使没有任何性能优化也可以容纳无限数量的连接(当然,如果你优化它会提高性能)。这在 RDS 上是不可能的,但我知道在 EC2 上运行的至少还有两个其他云数据库提供商提供自动扩展 - www.xeround.comwww.enterprisedb.com

      【讨论】:

      • www.xenround.com 仍处于测试阶段。
      【解决方案3】:

      您可以使用 elasticache 作为 rds 数据库的二级缓存。如果您使用 java,则可以使用 hibernate-memcached 库。但是您仍然需要根据您的数据配置在二级缓存中缓存的方式和内容。

      此外,您至少可以在 RDS 上使用只读副本来拆分读取流量。

      (您使用的是什么实例类型,您看到它们具有不同的 i/o 容量?)

      【讨论】:

        猜你喜欢
        • 2014-08-12
        • 1970-01-01
        • 1970-01-01
        • 2015-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-16
        • 1970-01-01
        相关资源
        最近更新 更多