我们正在评估托pipe我们的应用程序在亚马逊EC2服务。 虽然我确信一个小实例(1.7GB RAM)对于我们的Web服务器(在这一点上)就足够了,但我不确定MySQL服务器的需求:
将MySQL服务器放在与我们的主服务器相同的映像上是否合理? (为了节省成本)
我想数据库将不断更新和查询从networking服务器以外的多个来源,每天最多100,000个查询/ 5000次更新。 如果通过RDS进行部署,数据库应该部署在比“小”实例更多资源的映像上吗?
在EC2上托pipe一个MySQL数据库而不是通过RDS是否有意义?
谢谢,
在EC2上托pipe一个MySQL数据库而不是通过RDS是否有意义?
当然,特别是如果你需要一个非常自定义的MySQL实现。 而且,RDS对性能的批评也相当普遍。
这就是说,为了这笔钱RDS确实符合很大的要求范围。 从表面上看,运行RDS实例比运行MySQL服务器的EC2实例要花费更多的资金,但是当您开始将RDS中内置的监视,备份和持久性加起来时,您可能实际上最终形成了更好的形状比如果你试图用你自己的EC2安装来模仿这个function。
至于规模,RDS的好处之一就是规模。 您可以部署在一个小实例上,如果您决定需要更大的实例,则可以将实例转换为更大的实例。 另外,如果您有加载问题,则可以启动多个只读数据库版本来处理RDS上的负载。
一天结束它是MySQL,所以如果你尝试使用RDS并且不满意你并且转储数据库,那么你可以启动你自己的MySQL实现并将数据库导入到数据库中。 在我看来,加载大量的MySQLpipe理任务是值得的,只关注数据,你的milage可能会有所不同。
希望这有助于你的决定。
是的 – RDS和MySQL是非常不同的。 使用RDS,您不是自己pipe理服务器 – 例如 – 您无法访问服务器日志。 有很多漂亮的工程技巧,如果你自己维护服务器(比如运行MySQL的EC2镜像),你只能这样做。
不要把MySQL放在同一个服务器上,如果你认为由于stream量/负载的缘故,你很快就需要把它迁移到它自己的服务器上。 现在不妨做,所以你以后不必处理configuration更改。
小实例将在$ 70- $ 80 /月左右,而大实例将是〜$ 230 /月(价格不断下降,所以我估计)。
我们已经用小实例得到了很多,但是当你有很高的IO(即磁盘的许多寻求)的时候 – 随着小实例的IO约束被大量使用。 如果你创build了很好的索引,而且它们能够适应RAM,那么你将不会有大量的磁盘查找,因为你将会避免全表扫描。