Windows кластер для SQL 2008 R2

В настоящее время у меня есть сервер SQL, который испытывает высокую загрузку процессора. Есть множество операций чтения и записи, происходящих непрерывно.

Машина представляет собой Dual Xeon E5645 с частотой 2,4 ГГц, 48 ГБ оперативной памяти и использует SSD-диски в raid 5.

Я хотел бы увеличить мощность для нашего экземпляра sql. Мы рассматриваем возможность приобретения сервера с 4 процессорами и Xeons в диапазоне 3GHz+.

Однако мы обсуждаем, стоит ли использовать кластеризацию Windows. Затем просто настройте кластер для работы на 1 машине и добавьте больше машин, как того требует рабочая нагрузка.

Будет ли это возможным решением? или одной машины будет достаточно? Я не должен беспокоиться о кластере 2008 года?

Вот некоторые данные с сервера, используя запрос.

ВЫБЕРИТЕ DB_NAME(fs.database_id) AS [Имя базы данных], mf.physical_name, io_stall_read_ms, num_of_reads,
CAST(io_stall_read_ms/(1.0 + num_of_reads) AS NUMERIC(10,1)) AS [avg_read_stall_ms],io_stall_write_ms, 
num_of_writes,CAST(io_stall_write_ms/(1.0+num_of_writes) AS NUMERIC(10,1)) AS [avg_write_stall_ms],
io_stall_read_ms + io_stall_write_ms AS [io_stalls], num_of_reads + num_of_writes AS [total_io],
CAST((io_stall_read_ms + io_stall_write_ms)/(1.0 + num_of_reads + num_of_writes) AS NUMERIC(10,1)) 
AS [avg_io_stall_ms]
FROM sys.dm_io_virtual_file_stats(null,null) AS fs
ВНУТРЕННЕЕ СОЕДИНЕНИЕ sys.master_files AS mf
ON fs.database_id = mf.database_id
AND fs.[File_id] = mf.[File_id]
ORDER BY avg_io_stall_ms ОПЦИЯ DESC (РЕКОМЕНДУЕТСЯ);
    Имя базы данных io_stall_read_ms    num_of_reads    avg_read_stall_ms   io_stall_write_ms   num_of_writes   avg_write_stall_ms  io_stalls   total_io    avg_io_stall_ms
    RViewWf          19751827778        232140460             85,1             7254139          1444051                 5,0         19759081917 233584511   84,6

Что все предлагают?

3 ответа

Полное имя Windows Clustering - отказоустойчивая кластеризация Windows. Это не активные / активные экземпляры базы данных. Не похоже, что это то, что вы ищете. MSSQL-сервер не использует шардинг или что-то в этом роде. Он "масштабируется" вместо "масштабирования", так сказать.

Отказоустойчивая кластеризация Windows обеспечивает высокую доступность кластерных ресурсов (служб, приложений, виртуальных машин). Это не обеспечивает "разделение" рабочей нагрузки.

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

Большинство сетей SAN могут создавать RAID-массивы нескольких типов. В зависимости от того, насколько избыточным вы хотите, чтобы все было, вы можете работать с RAID 0+1 (два чередующихся массива без контроля четности, зеркально отображенных друг на друга), чтобы вы не потеряли производительность в случае сбоя диска. Или вы можете настроить RAID 5+1 (с горячим резервом или без него), чтобы добавить дополнительный уровень резервирования.

Другие вопросы по тегам