Привет!
Задумался я над таким теоретически-практическим вопросом.
Есть у меня система хранения данных от IBM (Ds3524) с 22 дисками. Она подключена по FC к серверу.
СХД позволяет все 22 диска объединить в RAID10 или RAID6, а можно произвольно "нарезать" диски на массивы.
Теория советует для наилучшего быстродействия разделять файл БД, файл транзакшн лога и файл подкачки ОС на разные дисковые массивы.
И вот он, вопрос!
Если физически контроллер (СХД) - один, то стоит ли в рамках одного контроллера создавать 1 RAID10, 1 RAID0 или по скорости и надежности это будет равносильно RAID10 на всех 22 дисках?
(1) stanru1, (5) gilv,
Имея запас из 22 дисков возможно все-таки имеет смысл сделать отделный RAID1 для лога транзакций, который всегда пишется последовательно. Для всего остального - общий RAID10.
(6) я сейчас в процессе тестирования. Пока получается, что
1. raid0 из 2х дисков работает медленнее, чем raid5 из 22
2. raid5 из 24х дисков работает немного медленнее, чем raid10 (но при этом свободного места в 2 раза больше)
В итоге 24 диска объединены в 1 raid5 массив. В этом массиве "для тестов" нарезано 3 куска по 200Гб. Тестировал чтение/запись как на одном сервере в 2х виртуальных машинах (у каждого сервера по 2FC порта), так и на 2х серверах. Вот что получилось.
1. при записи/чтении через один контроллер (в СХД их 2) скорость закономерно падает в 2 раза.
2. при записи/чтении параллельно через 2 контроллера скорость падает незначительно.
Проведен стандартный нагрузочный тест на 500 пользователей. Не выдержал сервак :) Выдержал 450. При этом загрузка дисковой подсистемы даже до 50% не дотягивает. Но пока никакого тюнинга я не проводил - чистые установки.
(2) KV1s, эти железки (2 сервера IBM х3650 + 1 СХД IBM DS3524) брались под другую учетную систему (Epicor9). Требования по конфигурации железа были озвучены разработчиком. Мне они представляются несколько завышенными, поэтому на железе будет жить еще и 1С (БП, ЗУП). В любом случае и та, и другая системы используют СУБД, поэтому вопрос не праздный.
Я сомневаюсь, что многие владеют таким массивом железа (а может ошибаюсь?)... поэтому проще (если есть такая возможность) сделать тестовую базу и погонять в разных вариантах. интересно както
5.
Gilev.Vyacheslav
191113.02.13 03:21 Сейчас в теме
Друзья, задавайте вопросы тем, кто на этом специализируется. Еще лучше тем, кто за ответы несет ответственность.
Мы вчера под это дело специальную площадку организовали http://www.gilev.ru/forum/ - исключительно по вопросам производительности.
Теперь как лучше организовать диски с точки зрения производительности:
1. быстрее всего будут работать 22 ОТДЕЛЬНЫХ диска без массива
2. с учетом отказоустойчивости (хотя тут большой вопрос еще а какое время простоя приемлемо) подходит 10 рейд, 6 рейд максимально тормознутый, даже хуже 5го
причина банальная - для 1С очень важна скорость записи
3. нагрузка на подкачу и операционку незначительна - ответ на частный вопрос - лучше положить на один 10 рейд, чем отдельно делать рейд под систему и т.п.
Интересно, в чем подвох?
2 совершенно одинаковых сервера. Одинаковое сетевое подключение через один и тот же коммутатор.
1 общий СХД
2 совершенно одинаковых инсталляции win2008r2 + mssql2008sp1
один клиентский ПК.
разница в том, что первый win2008 работает на "живом" железе, а второй - на vmware esxi.
На вскидку - видимо в esxi включен кэш на запись со всеми вытекающими отсюда потенциальными неприятностями.
Я правильно понимаю, что это Ваш "быстрый" RAID5 на 22-ух дисках? :)
(10) wkon,
на обоих серверах БД лежит на СХД. СХД в esxi прикручено как raw mount. В процессе теста СХД почти не "мигает лампами" - то есть нагрузки нет.
По "стандартному нагрузочному тесту" из кип 450 пользователей с apdex 0,95
Тесты чтения/записи на обоих серверах дают одинаковую цифру.
ребята, простите за поздний ответ. но нет, я не перепутал!
виртуалка быстрее.
поэтому я и поинтересовался причиной. было бы быстрее живое железо - это было бы очевидно.
возможно, какой-то косяк с настройкой железа, не знаю. монитор производительности говорит о том, что ресурс не тратится (диск, память, процессор).
модель восстановления обеих баз - "простая".
tempdb и там, и там на СХД.
19.
Gilev.Vyacheslav
191120.02.13 12:53 Сейчас в теме
(16) stanru1, тогда у меня несколько вопросов:
1) где размещались клиентс 1с, сервер 1с и субд в обоих тестах?
2) по какому протоколу между сервером 1С и субд был обмен? использовался ли SHARED MEMORY http://www.gilev.ru/sqland1c/?
3) какие настройки отличные от дефолтовых были на серверах? делалось ли что то вроде этого http://www.gilev.ru/systemperfomance/?
Вячеслав как часто происходит оказался прав. Проблема была в "Электропитании".
Такие вот данные после оптимизации сервера.
Файловый режим, живое железо:
SQL, живое железо
SQL, VMware ESXI
Если параллельно запустить тест на vmware #1 и живом железе #2, то показатели #1 становятся чуть ниже, а показатели #2 не изменяются. Напомню, что дисковое хранилище физически одно. Видимо, в данном тесте скорость чтения/записи не столь важна.
Постараюсь сегодня сделать и выложить результаты СНТ в различных вариантах.
23.
Gilev.Vyacheslav
191120.02.13 17:17 Сейчас в теме
(21) stanru1, это вы еще 22 отдельных диска не тестировали, если по ним равномерно размазать tempdb и реальную базу данных с реальным объемом, вы сильно удивитесь )
я для себя этот эффект назвал "скуль лучше параллелит запись чем рейд контроллер", но это скорее потому что надо было придумать какое то объяснение