AWS - 更大的 EC2 实例或数据库分割

AWS - 更大的 EC2 实例或数据库分割

我正在一个小型 EC2 实例上运行一个网站。实例上的内存已满,主要是由于 SQL 服务器进程。我正在考虑升级到中型实例或继续使用小型实例,但将数据库转移到 RDS(使用新的 SQL 服务器实例)。

就价格而言,两种选择大致相同。就可扩展性而言,使用 RDS 似乎是更好的选择,因为它允许我在负载平衡器上添加更多服务器,并将它们全部从同一 RDS DB 服务器中提供。

另一方面,DB 和 IIS 机器之间的通信可能成为一个问题,并且会话、缓存、身份验证将变得更加复杂(共享机器密钥等)。

在做出这个决定时我应该考虑哪些信息和数据点?

答案1

SQL Server 按照设计使用所有可用内存。更好的问题是这些内存用于什么?您可以通过 sp_configure 调整最大内存:

sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO sp_configure 'max server memory', 1024; --Set to 1GB 
GO RECONFIGURE; 
GO

然后您需要重新启动 SQL Server 进程。

您是否看到查询有大量 IO 等待?您的内存是否用于缓存临时请求与存储过程的查询计划?Glenn Berry 有一些很棒的基本调优查询,可从以下网址获取:http://sqlserverperformance.wordpress.com/2008/01/21/five-dmv-queries-that-will-make-you-a-superhero/

至于在 AWS 上扩展,更多内存意味着更高的潜在缓冲区缓存命中率,但利​​用 RDS 只是抽象出您的日志维护。您仍会看到内存利用率,并且必须选择实例大小。

相关内容