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

Как масштабировать sqlserver 2008

Я работаю над проектом веб-сайта, который также имеет серверное приложение. Оба проекта полагаются на один экземпляр sql server 2008. Если оба приложения работают, sql-server становится узким местом. К сожалению, масштабирование невозможно (невозможно увеличить мощность компьютера, на котором работает sql-server), и теперь мы ищем другие способы повышения производительности.

Мы используем Windows 2008 с корпоративной версией sql-server 2008 на нескольких виртуальных машинах.

Этот технический документ является хорошей отправной точкой:

Производительность и масштабирование SQL Server 2008

Включено в этот документ:

  • Введение
  • Оптимизация производительности с помощью SQL Server 2008
  • Масштабирование с помощью SQL Server 2008
  • Масштабирование с помощью SQL Server 2008
  • Вывод

http://www.microsoft.com/sqlserver/2008/en/us/wp-sql-2008-performance-scale.aspx

Если текущий сервер не может масштабироваться, возможно, вам придется перейти на более крупный сервер. Похоже, вы запускаете SQL-сервер под виртуальной машиной, что можно сделать, если все сделано правильно. Если это сделать неправильно, твоя жизнь превратится в ад.

Прежде чем приступить к основному проекту масштабирования базы данных, вам необходимо проверить производительность своей базы данных и убедиться, что все правильно проиндексировано и что все ваши запросы выполняются наилучшим образом.

Предполагая, что это так, ищите более новый сервер. Если в настоящее время у вас на машине 2 виртуальных ЦП, вам потребуется 2 лицензии на ЦП SQL. Посмотрите на сервер с двумя четырехъядерными или шестиядерными процессорами. Таким образом, ваше лицензирование не изменится, и вам нужно будет заплатить только за новое оборудование.

Как вы определили, что ваш SQL Server является узким местом и что вам необходимо масштабировать развертывание?

Масштабирование обычно предполагает глубокий рефакторинг исходного приложения. Обычно это тонкая операция, в ходе которой необходимо выполнить несколько измерений производительности.

Если у вас есть одно приложение, доступное только для чтения в БД, вы можете настроить зеркало SQL Server, которое будет обслуживать запросы «только для чтения», чтобы снизить нагрузку на первичный сервер.

Затем вы также можете искать отсутствующие индексы. Отсутствие единственного индекса может снизить вашу производительность.

Наконец, если у вас есть некритические тяжелые запросы, вы можете добавить несколько NO LOCK операторы для значительного ускорения времени запроса (но этот метод следует использовать с осторожностью, поскольку возвращаемые результаты могут быть частично несовместимыми).

Как предполагали другие, тогда Самый дешевый и простой способ улучшить производительность SQL Server - это настроить производительность. Это. IMHO дополнительные лицензии SQL Server, задействованные в горизонтальном масштабировании, не позволяют использовать его как вариант, если ваша база данных не является VLDB и не работает на новейшем и лучшем оборудовании.

Предполагая, что вы максимально оптимизировали SQL Server, у вас есть следующие варианты:

Вот отличный статья из Microsoft в котором обсуждаются плюсы и минусы использования каждого из этих вариантов.

Оптимизируйте свои SQL-запросы.

Вот статья Microsoft, которая проведет вас через это -

http://msdn.microsoft.com/en-us/library/ms979196.aspx