Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Нужно сделать выделенный MS SQL для крупной инсталляции Microsoft Project Server 2010.
Нагрузка на базы SharePoint символична.

Имеются 8 дисков. Какая конфигурация будет быстрее?

Вариант 1. 6 дисков в RAID 10 и туда положить и данные и tempdb. 2 диска в RAID 1 для логов.
Вариант 2. 2 диска в RAID 1 для данных. 4 диска в RAID 10 для tempdb. 2 диска в RAID 1 для логов.

Почему-то мне кажется, что Вариант 2 будет быстрее.
Статья TechNet по настройке MS SQL под SharePoint ниже. Там советы классические.

Если говорить о Project Server, то данных по объему будет не много, но хранимые процедуры в его базе далеки от оптимального кода TSQL. Поэтому алгоритмы будут крутить хоть небольшой объем (десятки или сотни тысяч записей), но в самых отвратительных формах скана. Поэтому думаю, что уткнемся в tempdb

Мнение экспертов?


http://technet.microsoft.com/en-us/library/cc298801.aspx

Separate and prioritize your data among disks
Ideally, you should place the tempdb database, content databases, Usage database, search databases, and SQL Server 2008 transaction logs on separate physical hard disks.
The following list provides some best practices and recommendations for prioritizing data:
• When you prioritize data among faster disks, use the following ranking:
1. Tempdb data files and transaction logs
2. Database transaction log files
3. Search databases, except for the Search administration database
4. Database data files
In a heavily read-oriented portal site, prioritize data over logs.
• Testing and customer data show that SharePoint Server 2010 farm performance can be significantly impeded by insufficient disk I/O for tempdb. To avoid this issue, allocate dedicated disks for tempdb. If a high workload is projected or monitored — that is, the average read operation or the average write operation requires more than 20 ms — you might have to ease the bottleneck by either separating the files across disks or by replacing the disks with faster disks.
• For best performance, place the tempdb on a RAID 10 array. The number of tempdb data files should equal the number of core CPUs, and the tempdb data files should be set at an equal size. Count dual core processors as two CPUs for this purpose. Count each processor that supports hyper-threading as a single CPU. For more information, see Optimizing tempdb Performance (http://go.microsoft.com/fwlink/?LinkID=148537).
• Separate database data and transaction log files across different disks. If files must share disks because the files are too small to warrant a whole disk or stripe, or you have a shortage of disk space, put files that have different usage patterns on the same disk to minimize simultaneous access requests.
• Consult your storage hardware vendor for information about how to configure all logs and the search databases for write optimization for your particular storage solution.
20 май 11, 18:27    [10686597]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Добавка

http://technet.microsoft.com/ru-ru/library/ff686784.aspx


Given that Project Server 2010 is a data intensive application, optimizing your database tier can add considerable gains to performance. Please refer to SQL Server and Storage Capacity Planning and Configuration for broad guidelines on optimizing your SQL Server settings. Some of the recommendations below highlight those made in the SQL Server documentation:
• Separate the database files and the transaction log files away from the OS drives – preferably each to their own partition. This helps by reducing IO contention between the host operating system and SQL Server, and then also between SQL database files and log files, which tend to have different update patterns depending on what recovery strategy is used.
• SQL Server supports the use of statistics. Ensuring that the statistics are up-to-date will improve the ability of the SQL Query Optimizer.
• Ensure that your SQL Server indexes are not fragmented.
• Separate the TempDB onto its own partition. Split the database into several physical files – ideally, splitting it into as many files as you have processors on your database server.
• Consider utilizing a RAID subsystem for your data needs
o RAID 5 is recommended for medium data set sizes.
o RAID 5 is acceptable for large dataset sizes, but RAID 10 is ideal
• Move indexes onto their own partition
• Project Server has been optimized to utilize the benefits of SQL CLR. Although SQL CLR is not a requirement, if available and enabled, it has the potential for increasing the performance of some operations
20 май 11, 18:56    [10686746]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
aleks2
Guest
8 дисков в RAID 10. И не парьтесь.

ЗЫ. Меня фсегда умиляет забота о TEMPDB...
20 май 11, 19:00    [10686762]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Ошибочный совет при любой конфигурации.

Лог пишется последовательно, поэтому ВСЕГДА вынос лога на отдельный RAID 1 окупается.
Разница между последовательной записью и хаточными seek может быть 200 раз.

Я обычно также не обращал внимание на tempdb. Однако судя по best practice при небольших базах и сложных запросах вся нагрузка ляжет на tempdb. Постоянные work tables требуют ресурсов.

В white paper также указано, что удилить внимание tempdb и только потом базе.
20 май 11, 19:19    [10686815]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
aleks2
Guest
MicrosoftProjectRU
Ошибочный совет при любой конфигурации.

Лог пишется последовательно, поэтому ВСЕГДА вынос лога на отдельный RAID 1 окупается.
Разница между последовательной записью и хаточными seek может быть 200 раз.


1. Ага. Блаженны верующие.
2. А чо, RAID 1 как-то особо приспособлен к "последовательной" записи?
3. С логикой у вас туго.
20 май 11, 19:48    [10686905]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Разберитесь как работает жесткий диск.

По теме.

Гладчеко крут как обычно!
Блин, 15 лет работаю с MS SQL и действительно верил, что RAID 10 убыстряет что-то.
Всем читать профессора тут
https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=657016&pg=1&hl=raid%20tempdb

На самом деле Гладченко прав. Мозгами никакой RAID-контролер в мире не вышел, что состязаться с менеджером дисков в MS SQL.

Думаю все побить на 4 зеркала так.

- Tempdb mirror
- log mirror
- draft, publish and archive mirror
- reporting mirror

Написал в штаб-квартиру Microsoft. Интересно что Кристофер скажет по такой конфигурации.

Надо будет нам в следующей версии MS Project Server сразу заложить оптимальные file groups, чтобы админы легко раскидывали базу по куче зеркал.
20 май 11, 20:09    [10686948]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
Guset
Guest
MicrosoftProjectRU,

Если уж так заморачиваетесь за tembdb то, разместить файлы tempdb на кол-ве дисков соотвествующих кол-ву ядер процов, так будет еще правильней, т.е. имея четырёхядерный проц - делаеш четыре массива raid1 по два диска в каждом - и на каждом размещаещь файлы tempdb, кстати можешь также разместить и файлы самих баз, сама субд намного лчше распрделляет нагрузку по дисками чем raid-контроллер.
20 май 11, 20:13    [10686955]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Не уверен, что так лучше.

Дело в том, что когда нагрузка на MS Project Server слишком велика, то нитки пишущие параллельно в базу Reporting не успевают и все рассыпается на deadlock. Для пользователя MS Project Server "повис" в таком сценарии.

Поэтому лучше откинуть Reporting на отдельный диск, чтобы снизить вероятность deadlocks.
20 май 11, 20:29    [10687000]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Изучил матчасть еще раз. Да действительно лучше раскидать tempdb по зеркалам.
Кому нужно пример скрипта как делается ниже.

Однако не хочется вмешиваться в последовательную запись логов.

Тогда 4 зеркала рулим так. Будет 8 процессорных ядер.

1) Логи всех баз. Сюда же ставим ОС, т.к. приложений нет, то ОС загрузится в память и отстанет от диска.
2) tempdb1. tempdb2. tempdb3. Draft. Archive.
3) tempdb4. tempdb5. tempdb6. Publish.
4) tempdb7. tempdb8. Reporting.

Думаю это оптимальная конфигурация.

-----------------------

-- move tempdb data
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev,
FILEGROWTH = 10% ,
MAXSIZE = UNLIMITED,
SIZE=1000MB ,
FILENAME = 'D:\databases\tempdb_1.mdf')
GO

-- move tempdb log
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, SIZE=1, FILENAME = 'D:\databases\templog.ldf')
GO

-- additional processor? split tempdb into equal filesizes, 1 per processor...

ALTER DATABASE tempdb ADD FILE
(NAME = tempdev_2,
FILEGROWTH = 10% ,
MAXSIZE = UNLIMITED,
SIZE=1000MB ,
FILENAME = 'D:\databases\tempdb_2.mdf')
GO

Read more: http://sqlsolace.blogspot.com/2007/11/moving-tempdb.html#ixzz1MurldkVu
20 май 11, 22:00    [10687262]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
Antoshka
Member

Откуда:
Сообщений: 828
MicrosoftProjectRU
1) Логи всех баз. Сюда же ставим ОС, т.к. приложений нет, то ОС загрузится в память и отстанет от диска.
Если баз несколько, то последовательная нагрузка превращается в случайную.
20 май 11, 22:43    [10687408]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Да это так и не так.

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

Теоретически MS SQL может тут может откешироваться, построить очередь и отписаться с незначительным числом seek.
Вопрос имеет ли он такой разумный алгоритм записи. Скорее всего да. Я видел много серверов MS SQL, где на обычном зеркале болтались все логи от множества баз и это не было бутылочным горлом.

Как минимум я не видел еще промышленных инсталляций, где делают несколько массивов для логов.
Или у Вас именно такая практика?

На самом деле тут опять же практик нужен типа Гладченко, чтобы оценить.
20 май 11, 23:15    [10687505]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5503
Блог
aleks2 прав.
Для сферической БД в ваккуме на 8 дисках лучше R10 ничего не придумаешь.
Будешь на DevCon - подходи, расскажу подробно. ;-)
21 май 11, 00:04    [10687671]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
ОперацияПингвин
Member

Откуда:
Сообщений: 648
Блог
MicrosoftProjectRU
Разберитесь как работает жесткий диск.


Надо SSD брать. Они не зависят от уровня дефрагментации
21 май 11, 00:11    [10687685]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Бездоказательно, Ватсон.

Для анализа конфигураций нужны не пиво и курилки на Девконе, а анализ спецификаций и тестов.
Будете печатать 100 страничные спеки прямо там?

Работа инженеров, это не посиделки, а работа с документацией.
Поэтому я бы предпочел получить ссылки и изучить данные, а не за пивом байки травить в стиле "Помнится я со Штирлицем такой RAID замутил!!!"

Можете тут посмотреть о там как в ТНК-BP народ о практике говорит. :)
https://www.youtube.com/watch?v=n1jeObFES1s

Если понравилось тут еще пятничные видео
http://www.microsoftproject.ru/articles.phtml?aid=332

Но это все "байки бывалых".

Я по своему опыту помню когда в Сатурне мы работала OTLP на RAID 10 дисков. Точнее скорее в коме лежала, а чудо-админ который это сделал уже писал заявление. Так вот, поскольку все порты RAID были забиты, то мы просто на дебильском
контроллере встроенном в материнку подняли зеркало из 2х IDE дисков. И? Все ожило и админ порвал заяву об увольнении.
Так что все эти "истории" мало что значат. Где-то прокатило, где-то нет. Тут нужны тесты как у Гладченко.

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

У RAID 10 ни при каких обстоятельствах не хватит мозгов так раскачать параллелизм по tempdb как сделает MS SQL.
RAID 10 всегда будет криво писать лог, в тоже время MS SQL сможет логи писать с минимальными seek, если диск прочей суетой не отвлекают.

Вопрос в технике с разными RAID 1 в том, чтобы загрузить их примерно равно и с учетом пиковых нагрузок. В случае MS Project Server, где есть критические базы это не сложно понять как.
21 май 11, 00:23    [10687718]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Про SSD думаю. Однако Microsoft ставит их только в демонстрационные сервера, но не в продакшн.

Просто SSD на нагрузке MS SQL быстро теряют ресурс.
21 май 11, 00:26    [10687726]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
ОперацияПингвин
Member

Откуда:
Сообщений: 648
Блог
MicrosoftProjectRU
Про SSD думаю. Однако Microsoft ставит их только в демонстрационные сервера, но не в продакшн.

Просто SSD на нагрузке MS SQL быстро теряют ресурс.


У slc -шных дисков все нормально с ресурсом. + экономия электроэнергии
21 май 11, 00:44    [10687767]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Ссылочку дайте на описание железки.
21 май 11, 00:53    [10687784]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
ОперацияПингвин
Member

Откуда:
Сообщений: 648
Блог
MicrosoftProjectRU,

сцылку надо у своего вендора попросить
21 май 11, 01:04    [10687805]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
ОперацияПингвин
Member

Откуда:
Сообщений: 648
Блог
Вот HP-шные варианты
21 май 11, 01:06    [10687807]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
А где тут про время жизни, особенно в таких интенсивных сценариях как SQL-сервер?
21 май 11, 01:30    [10687851]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
ОперацияПингвин
Member

Откуда:
Сообщений: 648
Блог
MicrosoftProjectRU,

Вот еще

SLC - выдерживают 100000 перезаписей. Исходя из этого можно посчитать сколько они будут жить
21 май 11, 10:53    [10688165]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
diary3
Member

Откуда:
Сообщений: 49
Сколько я ни тестил (по скорости исполнения запросов), если дисков 6-10 и из них всех построить RAID 10 - то работает быстрее всего.
Когда 4-6 диска, то работает быстрее, когда база разнесена от лога.

Хотя, логически всегда делаю так:
Картинка с другого сайта.

А физически, монтирую как удобно. Если уж что не так - файлы на BackUp, перемонтирую точки подключения, копирую обратно.

К сообщению приложен файл. Размер - 23Kb
21 май 11, 11:44    [10688236]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Тестил что?
Какие конфигурации? Что было приложением?

tempdb разносили? файл-группы пилили?

Результаты замеров есть? Какое отличие между пачкой raid 1 и одним raid 10?
21 май 11, 12:39    [10688308]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
diary3
Member

Откуда:
Сообщений: 49
Тестил сугубо своё.
Результаты не остались ибо делал 5 лет назад. Но, по памяти помню, что разбивка уменьшает латентность, а всё на одном увеличивает скорость.
Перепробовал все варианты разбивки RAID-а и размещения баз, логов, tempdb выбрал для себя оптимальное и успокоился.
Разумеется всё выровнено: http://msdn.microsoft.com/ru-ru/library/dd758814(v=SQL.100).aspx
Размер кластера NTFS = размер страйпа RAID = 64k.
Хотел бы сравнить у себя ещё 64k и 8k - да нет времени.

Разнесение файловой группы по RAID-1 не тестил. Тоже очень бы хотел бы посмотреть результаты.

А по своим проектам, заметил, что разнесение tempdb даёт преемущество, только если в индексах
SORT_IN_TEMPDB = ON

Про Project конкретно сказать не могу, т.к. у меня на работе ферма крутится полностью под виртуализацией (включаяя SQL). А гипервизорами управляют сисадмины. Что они там делают - фиг знает.
21 май 11, 15:15    [10688605]     Ответить | Цитировать Сообщить модератору
 Re: 8 дисков в RAID. Какая конфигурация будет быстрее?  [new]
MicrosoftProjectRU
Member

Откуда:
Сообщений: 78
Я думаю админы просто отключили виртуализацию дисков MS SQL и виртуализировали только процессоры.
Такой подход работает и на Hyper-V и на VMware. Только так умные админы делают, которые резервируют диски для SQL заранее.

Пару слов про "выравнивание". Какие тут лучшие практики?
Посмотрел статьи и не пришел к четкому выводу.

http://technet.microsoft.com/ru-ru/magazine/gg293114.aspx
http://technet.microsoft.com/ru-ru/library/cc966414(en-us).aspx
21 май 11, 16:02    [10688672]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить