Если сервер Microsoft SQL Server 2008 Standard Edition настроен, как показано ниже, дает ли вариант 1 преимущество перед вариантом 2?
Базовая конфигурация:
Опция 1:
Настройте один виртуальный диск на RAID 10 и используйте одну файловую группу
Вариант 2
Настройте два виртуальных диска на RAID 10 и используйте две файловые группы
Здравый смысл подсказывает мне, что преимущества в скорости не будет, поскольку RAID 10 может только читать / писать с той же скоростью.
Может ли кто-нибудь посоветовать, преобладает ли здравый смысл или есть причина, которую я упустил из виду, почему это было бы выгодно?
Не уверен, есть ли повышение производительности для нескольких групп файлов, но вы можете обнаружить, что несколько файлов в вашей файловой группе (-ах) улучшат производительность.
Просмотрите мой вклад в этот вопрос: Почему использование ЦП так несимметрично на нашем сервере SQL Server с 8 процессорами?
Мы тщательно настраиваем наши самые часто используемые таблицы в файловых группах с несколькими файлами в них. Одно из улучшений производительности заключается в том, что SQL будет направлять запросы к каждому файлу в файловой группе, поэтому, если BigOverUsedTable находится в FileGroup1, а FileGroup1 имеет четыре файла в нем, а ваша БД имеет 8 ядер, он фактически будет использовать четыре ядра для выбора большое число, обрабатывающее неприятный запрос из BigOverUsedTable "- в противном случае он будет использовать только один процессор. Мы получили эту идею из этой статьи MSDN:
http://msdn.microsoft.com/en-us/library/ms944351.aspx
Из TFA:
«Файловые группы используют параллельные потоки для улучшения доступа к данным. При последовательном доступе к таблице система создает отдельный поток для каждого файла параллельно. Когда система выполняет сканирование таблицы для таблицы в файловой группе с четырьмя файлами, она использует четыре отдельных потоков для параллельного чтения данных. В общем, использование нескольких файлов на отдельных дисках повышает производительность. Слишком много файлов в файловой группе может вызвать слишком много параллельных потоков и создать узкие места ».
Благодаря этому совету у нас есть четыре файла в нашей файловой группе на 8-ядерном компьютере. Это хорошо работает.
Единственные преимущества, которые вы получите, заключаются в том, что у ОС будет две очереди физических дисков в Windows вместо одной, и что вы будете готовы добавить еще один массив и переместить в него файл базы данных в будущем. И то, и другое - довольно незначительные преимущества.
Если у вас есть время, вы всегда можете попробовать и увидеть, а не гадать!
Я не вижу ощутимого прироста производительности с 2 виртуальными дисками на 1 виртуальном диске, но наличие дополнительных файлов и файловых групп всегда полезно для проверки в будущем.
Размещение ваших индексов в отдельной файловой группе - хорошая практика, тогда вы всегда можете переместить файловую группу на новый набор шпинделей для дополнительного повышения производительности!
Никакого измеримого преимущества в скорости не будет, но, как указывали другие, наличие двух файловых групп - это более перспективная концепция.
Ваши два варианта просто не дают никаких преимуществ, поскольку операции ввода-вывода будут просто разбросаны по всем физическим дискам в обеих конфигурациях.
Если у вас 4 физических диска и вы действительно хотите получить от них максимальную производительность (*), вот как это сделать:
Последний пункт - самый важный; с этой конфигурацией вы можете иметь две файловые группы, эффективно работающие параллельно, но это будет полезно только в том случае, если вы можете разместить там свои данные таким образом, чтобы можно было выполнять ввод-вывод для обеих из них одновременно; так что вы можете поместить разные таблицы в разные файловые группы или использовать одну из них для таблиц, а другую для индексов, или ... у вас есть бесконечные решения, все зависит от вашей реальной рабочей нагрузки.
(*) Это действительно продвинутая оптимизация, в большинстве случаев это просто излишество, так как одной файловой группой / одним томом / одним массивом будет намного проще управлять и будет достигаться очень похожая производительность, если только вы на самом деле жестяная банка распараллелить ваш ввод / вывод.
Вариант 2, скорее всего, приведет к большему физическому перемещению головок дисков, поскольку им нужно перемещаться между двумя логическими дисками. Это может или не может компенсировать какие-либо преимущества, полученные от отдельных дисковых очередей. Только тесты с использованием вашей среды могут дать окончательные результаты.