В настоящее время у меня есть сервер sql, который сильно загружен процессором. Постоянно происходит множество операций чтения и записи.
Машина представляет собой Dual Xeon E5645 @ 2,4 ГГц с 48 ГБ оперативной памяти и использует SSD-диски в raid 5.
Я хотел бы увеличить мощность нашего экземпляра sql. Мы рассматриваем возможность получения сервера на 4 процессора с процессорами Xeon в диапазоне 3 ГГц +.
Однако мы обсуждаем, следует ли использовать кластеризацию Windows. Затем просто настройте кластер для работы на 1 машине и добавьте больше машин, если этого требует рабочая нагрузка.
Будет ли это возможным решением? или будет достаточно одной машины? Не стоит ли возиться с кластером 2008 года?
Вот некоторые данные с сервера, использующего запрос.
SELECT DB_NAME(fs.database_id) AS [Database Name], 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 INNER JOIN 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 OPTION (RECOMPILE);
Database Name 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
Что все предлагают?
Полное название кластеризации Windows - отказоустойчивая кластеризация Windows. Это не активные / активные экземпляры базы данных. Не похоже, что это то, что вы ищете. Сервер MSSQL не выполняет шардинг или что-то в этом роде. Он, так сказать, «масштабируется» вместо «масштабирования».
Отказоустойчивая кластеризация Windows обеспечивает высокую доступность кластерных ресурсов (служб, приложений, виртуальных машин). Он не обеспечивает «разделения» рабочей нагрузки.
Вместо того, чтобы связывать несколько дисков в RAID-массив с чередованием в самой системе (с использованием одного контроллера, на котором вы получаете производительность), вам может быть лучше использовать схему SAN, чтобы ваши диски управлялись избыточными контроллерами, которые оптимизирован для передачи данных. Конечно, решения SAN могут быть дорогими, поэтому это будет зависеть от того, каким объемом данных вы пытаетесь управлять (и насколько они ценны).
Большинство SAN могут создавать RAID-массивы нескольких типов. В зависимости от того, насколько избыточным вы хотите, чтобы все было, вы можете работать с RAID 0 + 1 (два чередующихся массива без четности, зеркально отображаемые друг для друга), чтобы вы не понизили производительность четности в случае отказа диска. Или вы можете настроить RAID 5 + 1 (с горячим резервом или без него), чтобы добавить дополнительный уровень избыточности.