SQL Сервер аппаратные средства, кластеризация расчет стоимости

Высокая доступность

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

Подбор сервера http://dellexpert.ru/konfigurator-servera.html конфигурации от недорогих до мощных для организаций среднего и крупного бизнеса.

Мощность

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

Избыточная Аппаратные средства

Как указано выше, вы должны иметь два источника питания, а также для дисков, некоторые формы RAID , что обеспечивает избыточность. Джереми Кадлец описывает различные типы RAID в своей статье Hardware 101 для SQL Сервер (Server) АБД . В общем, RAID 1, 5, 6, 10 или 0 + 1 обеспечит избыточность. Вы всегда должны настроить горячие запасные части при использовании RAID с избыточностью. Таким образом, вы должны иметь по крайней мере две неудачи , прежде чем вы на самом деле идти вниз.

Это не совсем лишними аппаратные средства, но резервные копии должны всегда быть на другом устройстве, как файловый сервер. Таким образом, если ваш SQL Сервер (Server) полностью плавится в землю, ваши резервные копии безопасны в другом месте.

Кластеризация

Кластеры, как правило, относится к комбинации двух или более серверов вместе, чтобы дать им возможность либо делить нагрузку или нагрузку быстро поглощения в случае выхода из строя. Когда дело доходит до SQL Сервер (Server), существуют два типа кластеров интересующего нас. Windows Server Cluster представляет собой комбинацию двух или более серверов Windows в кластер. SQL отказоустойчивого кластера Instance (ФЦИ) является экземпляром SQL Сервер (Server), который может работать на узлах кластера Windows Server.

Так что я должен подчеркнуть, что можно создать кластер Windows Server, который имеет только один узел. Почему вы можете спросить, вы хотели бы сделать это? Есть несколько причин:

Если вы начинаете с одного узла кластера Windows Server и установить FCI, вы можете добавить больше узлов позже, а затем установить SQL на них FCI, а также. Если вы начинаете с автономной Windows Server и установить автономный SQL Instance вы не можете преобразовать их в кластер позже.

SQL имеет виртуальный объект компьютера, связанный с ним, а это значит, если вы используете имя экземпляра не по умолчанию, вы можете использовать имя виртуального объекта компьютера, чтобы обратиться к экземпляру вместо формата: \ [Имя_экземпляра].

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

Несколько копий базы данных

Другой способ обеспечить HA, чтобы иметь несколько копий базы данных доступны, которые могут быть переведены в случае необходимости. Копии баз данных обычно описываются как своего рода ожидания (горячий, теплый, холодный). Каждый имеет свои особенности, как описано ниже:

Горячий резерв — Горячий резерв означает копию базы данных доступен сразу без каких-либо вмешательства со стороны администратора базы данных. Горячий резерв обычно использует что-то вроде одноранговой репликации держать более одной копии базы данных, доступной для немедленного использования. Горячий резерв будет требовать от клиента, чтобы быть достаточно умен, чтобы подключиться к другой базе данных, если оригинал не удается. Теоретически только текущие транзакции будут потеряны, если вы должны переключиться на горячего резервирования базы данных.

Теплый Режим ожидания — с горячим резервированием означает копию базы данных доступна быстро с небольшим вмешательством от DBA. Зеркальное является хорошим примером теплой резервной базы данных. Легко переключаться с основного зеркала, и даже может быть выполнена автоматически, если используется следящий сервер. Клиентские подключения часто достаточно умны, чтобы восстановить, если основной не удается к зеркалу. С помощью зеркального отображения есть два режима работы, синхронный и асинхронный. В синхронном режиме, только текущие транзакции будут потеряны. В асинхронном режиме, только операции с момента последнего обновления была применена будет потеряна. Как правило, это будет всего несколько секунд, самое большее.

Холодный резерв — Холодный резерв означает, что есть копия базы данных, которая может быть доступна, но это может занять какую-то работу, и это, вероятно, будет легко переключаться роли баз данных нет. Доставка журналов является примером создания холодного резерва копии базы данных. В холодном режиме ожидания с доставкой журналов, несколько минут транзакций могут быть потеряны в случае сбоя.

Microsoft изменила зеркальное отображение, начиная с SQL Сервер (Server) 2012. Они протестующий зеркального отображения и они заменяют его доступности AlwaysOn групп. Есть несколько отличий, но пара действительно выделяются для обсуждения этого вопроса. Во-первых, теперь вы можете иметь вторичную базу данных, которая только для чтения. Перед зеркалом всегда был в автономном режиме в режиме восстанавливающей, так что теперь вторичное (зеркало) может быть использована для создания отчетов или другой только для чтения использует. Еще одной интересной особенностью является то, что, как следует из названия базы данных могут быть сгруппированы в группы доступности. Теперь вы можете терпеть неудачу над группой баз данных, а не только по одному за раз.

Представление

Когда речь заходит о производительности, основные факторы включают: аппаратные узкие места, проектирование баз данных и проектирования приложений (сервер обработки по сравнению с обработкой и блокировки клиента). В этой статье, я только собираюсь говорить с аппаратными узкие места. Вы можете посмотреть в проектировании баз данных и разработки приложений позже.

Основными видами являются узкие места на диске IO, память, процессор и сеть IO.

диск IO

Скорость Disk IO имеет решающее значение для производительности. Есть три места , что диск IO может повлиять на производительность; Файлы данных, файлы журналов и TempDb файлы. В меньшей степени, файл подкачки Windows , иногда может повлиять на производительность. Для файлов данных, ожидать случайных IO, для файлов журнала, он будет почти всегда быть последовательным IO и TempDB одинакова для своих файлов данных и журналов. Различные типы RAID лучше работать с последовательным IO , чем со случайным IO. Если я могу себе это позволить, я стараюсь использовать по крайней мере четыре диска в конфигурации RAID 10 для каждого тома данных, а также два диска в конфигурации RAID 1 для тома журнала. Я иногда использую RAID 5 , когда производительность не такая большая проблема, потому что вы получите больше возможностей и еще один уровень избыточности. См конфигурации жесткого диска для SQL Сервер (Server) для получения дополнительной информации о выборе типа RAID.

Лучше всего выделить следующие нагрузки в различных объемах: резервные копии, журналы, данные и TempDB. Хотя я по этой теме НЕ разметить тома диска или RAID на несколько дисков. Это заставит головки диска обмолота , которая плоха. Также стоит обратить внимание на единицу размера выделения при форматировании тома. В общем , я обнаружил , что 64k обеспечивает наилучшую пропускную способность . Каждая конфигурация может меняться, так что это хорошая идея , чтобы проверить производительность ввода — вывода с помощью инструмента , как SQLIO , прежде чем положить его в производство , чтобы убедиться , что вы получаете хорошую производительность. См наконечник Бенчмаркинг SQL Сервер (Server) IO с SQLIO для получения дополнительной информации об использовании SQLIO.

Файл данных IO

SQL Сервер (Server) действительно хорош в многопоточной IO, если есть более чем один файл доступен, так что для файлов данных, где важна производительность, часто хорошая идея, чтобы иметь больше чем один. Есть рекомендации по всему Интернету относительно оптимального числа файлов данных по сравнению с количеством процессорных ядер или количество розеток, но я на самом деле не имеют хорошую рекомендацию. Сохраняя IO сбалансирован имеет важное значение, так что если вы добавляете файл в существующую базу данных, убедитесь, что вы распределить нагрузку над файлами. Как общее правило, я иду с файлами четыре данных для баз данных, где я думаю производительность будет проблемой.

Память

SQL Сервер (Server) любит кэш страниц данных в оперативной памяти, так что чем больше оперативной памяти вы можете бросить на экземпляре SQL Сервер (Server), как правило, тем лучше. Это означает, что 64 бит является обязательным. Важно также отметить, что SQL Сервер (Server) использует память, кроме того, что вы назначить в качестве минимального и максимального значений памяти. С одной стороны, она использует память для каждого подключения к экземпляру. Операционная система также нуждается в памяти, так что для моих серверов, я обычно отложите 8 Гб для ОС и SQL накладных расходов. Я использовал, чтобы увидеть рекомендацию об отмене 4 ГБ для ОС и SQL накладных расходов, но в последнее время я столкнулся с проблемами с этой суммы.

Это может быть хорошо, чтобы говорить о минимальной и максимальной настройки. Установка мин является то, что используется SQL Сервер (Server), чтобы решить, если он имеет достаточно памяти для запуска. Если нет, по крайней мере достаточно свободной памяти, чтобы соответствовать мин настройки памяти, когда SQL пытается запуска она будет прервана, и говорят, что не хватает памяти. Установка макс памяти максимальный объем памяти, что SQL Сервер (Server) будет использовать, если он доступен.

ЦПУ

Мы уже установили, что нам нужно как 64-битный процессор и операционную систему для поддержки столько памяти, сколько это возможно. Я редко имел проблемы с CPU является узким местом с моих SQL серверов.

Вещи, чтобы не упустить, что может иметь узкое место процессора вещи, которые могут использовать параллелизм. Индекс перестраивает, стремится, и присоединяется некоторые определенные виновники.

Рекомендации и руководящие принципы для «максимальной степени параллелизма» опции конфигурации в SQL Сервер (Server) Смотрите также подсказки Какие настройки MAXDOP следует использовать для SQL Сервер (Server)? ,

Сеть IO

В общем, есть по крайней мере три типа трафика в вашем SQL Сервер (Server); данные поступают, происходит выход данных и трафика управления. Если вы будете следовать советам из выше, где ваши резервные копии на другом устройстве, как файловый сервер, вы также будете иметь резервное копирование исходящего трафика. Вы также можете иметь трафик хранения блок, если вы используете ISCSI.

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

Это также хорошая идея , чтобы поощрить вашу команду приложений , чтобы ограничить как можно больше данных , которые они проходят между SQL Сервер (Server) и сервером приложений. Использование ИНЕКЕ, не используя SELECT * и так далее будет ограничивать количество возвращаемых данных с запросом. Использование хранимых процедур также является хорошим способом сохранить данные на SQL Сервер (Server).

Следующие шаги

Я рекомендую проводить время с вашей любимой поисковой системы исследования следующим образом:

RAID Производительность

ISCSI

SQLIO

Распределение размера Unit и производительность со страницами данных SQL

Устранение узких мест в производительности с сервером SQL

Я рекомендую используя минимум четырех томов для SQL экземпляра. Кроме того, вы будете иметь свой объем OS. Если запущено несколько экземпляров, это может быть хорошей идеей, чтобы посмотреть в использовании точки монтирования, чтобы ограничить количество дисков вы смотрите.