将 SQL 服务器从 EC2 迁移到 RDS 与调整 EC2 实例大小以提高应用程序性能

Migrating SQL Server from EC2 to RDS vs Resize EC2 instance to improve application performance

我们有一个 asp.net mvc web 应用程序,带有 IIS 和 SQL 服务器驻留在同一个 Amazon EC2 实例中。我们计划将数据库从 EC2 实例移动到 Amazon RDS(为了提高性能,应用程序目前有点慢 - 服务器上的 cpu 使用率很高)。

我想不出这有什么用。另一方面。

  1. 将数据库迁移到 Amazon RDS 并不简单
  2. Amazon RDS 不允许更改为 SQL 服务器
  3. 分配的存储空间
  4. 您不能使用备份/还原将数据库移入和移出 RDS

将 SQL 服务器数据库从 EC2 迁移到 RDS 有什么好处?我们应该调整 EC2 实例本身的大小而不是迁移到 RDS 吗?

在我看来,迁移到 RDS 的最大好处是您的数据库变成了 database-as-a-service:您不再需要像 运行 在您自己的实例上那样管理它。自动备份、拍摄快照和启动相同实例的能力等 - 所有这些都很棒。

前段时间我把我支持的SQL数据库都迁移到RDS上了,晚上睡得很好再也不用担心了-但是后来,慢慢地,你提到的所有问题都变得清晰了并且更难以忽视 - 无法备份单个数据库并在本地使用,不再拥有对数据库或服务器的真正管理员权限,因此最终,在 activity 的狂热中,将所有内容迁移回我自己的 EC2 实例一个周末。

IMO,直到 RDS 允许您进行本地 single-database 备份并将其还原到 RDS,(反之则允许您在 RDS 中进行单个数据库并进行可以在本地还原的备份) ,对于可能需要更改的任何解决方案,我认为 RDS 对我来说不是一个可行的解决方案。

如果我有一个 100% 'done' 的系统,(如果有这样的事情的话),并且不需要增强、修改、自定义数据库,那么 RDS 有一些好处——但没有import/export 备份的能力对我来说是一个阻碍,只要有任何机会我可能需要在路上进行更改 - 因为我的生活无法弄清楚为什么 AWS 没有 allowed/enabled 这个功能。

至于你应该做什么,首先,你需要确保数据库确实是瓶颈——它可能不是。

如果是,则:

  • 如果您还没有,请开始在您的数据库前使用缓存
  • 升级您的 ec2 实例的大小。
  • 将数据库拆分到其在 EC2 实例上。

将数据库迁移到 RDS 有一些好处,但性能的立即提升不一定是其中之一。