Назад | Перейти на главную страницу

AWS - более крупный инстанс EC2 или разделение БД

Я запускаю веб-сайт небольшого экземпляра EC2. Память экземпляра исчерпана, в основном из-за процесса SQL-сервера. Я думаю о том, чтобы перейти на средний экземпляр или остаться с небольшим экземпляром, но перенести БД на RDS (с новым экземпляром SQL-сервера).

По цене оба варианта более-менее одинаковы. С точки зрения масштабируемости, использование RDS кажется лучшим выбором, поскольку это позволит мне добавить больше серверов на балансировщике нагрузки и подавать их все с одного сервера RDS DB.

С другой стороны, связь между машинами БД и IIS может стать проблемой, а сеанс, кеш, аутентификация станут более сложными (общий ключ машины и т.п.).

Какую информацию и данные мне следует учитывать при принятии этого решения?

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.

Вы видите значительное количество операций ввода-вывода, ожидающих запросов? Используется ли ваша память для кэширования планов запросов для специальных запросов по сравнению с сохраненными процессами? У Гленна Берри есть несколько отличных базовых запросов по настройке, доступных по адресу: http://sqlserverperformance.wordpress.com/2008/01/21/five-dmv-queries-that-will-make-you-a-superhero/

Что касается масштабирования на AWS, больший объем памяти означает более высокий коэффициент попадания в буферный кеш, но использование RDS просто абстрагируется от обслуживания журнала. Вы по-прежнему увидите использование памяти, и вам нужно будет выбрать размер экземпляра.