Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
Vladislav B. Ivanov
Member

Откуда: Россия, Астрахань
Сообщений: 113
Проблемка нарисовалась. Может посоветуете, где копать.

Раньше база работала обычным "настольным" железом:
P4 3.4 Ггц двухядерный.
Память 2 гб.
2 диска SATA 7200 rpm 230 гб в зеркале (для надежности).
Мать ASUS P5 PL.
Никаких проблем с SQL не было, работало как часы около года.

Появился сервер Intel, старенький, но вполне "внушающий доверие":
2x XEON 2.4 Ггц.
Память 2 гб с контролем четности, регистровая.
RAID-5 SRCU 42L из 5 шпинделей HotSwap по 36 гб U-320 всего получается 146 Гб в LUN-0.
Год выпуска ~2004.

После переноса на него БД появились такие проблемы:
1. БД тормозит при апдейтах и выводе данных в tempdb, при этом нагрузка ЦП меньше 10 %, дисковой активности нет, но запросы выполняются в 2-3 раза медленнее, чем на другом сервере.
2. Тормозит бэкап и восстановление баз, загрузка ЦП при этом 2-3%, не больше.
3. Запуск хранимой с курсором, который в цикле перебирает записи в таблице из ~10000 записей наглухо завешивает весь сервер так, что никто ничего не может запустить, пока курсор не отработает. При этом загрузка ЦП почти 100 %.

Используемая OS: Windows 2003 Ent SP 1.
SQL Server 2000 SP3.
Общий размер БД около 35 Гб.
Миграция базы проводилась бэкап --> восстановление.
19 июл 09, 16:38    [7433305]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
Crimean
Member

Откуда:
Сообщений: 13148
не так и не там смотрите дисковую активность, дисковый кеш выключен наглухо
19 июл 09, 16:54    [7433327]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
guest1212
Guest
Crimean,

fsutil fsinfo ntfsinfo C:
fsutil fsinfo ntfsinfo D:
...

Байт на кластер: 4096 ?
20 июл 09, 14:04    [7435848]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
ererererer1
Guest
Влад - прогоните пожалуйста сначала процу

потом процу
[url=]http://www.microsoft.com/technet/scriptcenter/scripts/sql/sql2005/perf/sql05vb021.mspx?mfr=true


и представьте сюда результат
20 июл 09, 15:30    [7436351]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
ererererer1
Guest
Влад - прогоните пожалуйста сначала процу
http://www.microsoft.com/technet/scriptcenter/scripts/sql/sql2005/waitstats/sql05vb049.mspx?mfr=true
потом процу
http://www.microsoft.com/technet/scriptcenter/scripts/sql/sql2005/perf/sql05vb021.mspx?mfr=true

и представьте сюда результат

сори за первое сообщение
20 июл 09, 15:31    [7436359]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
Vladislav B. Ivanov,
У SRCU42L нет по определению батарейки на кэш. Подозреваю, что кэш отложенной записи выключен. Мало того, считалка у него весьма дохлая, потому - с учетом отключенного кэша, производительность на запись должна быть просто отвратительная.
Проверить легко - посмотреть в perfmon среднюю очередь на запись под нагрузкой.
Второй момент по производительности - Ксеоны на древних ядрах работают чуть ли не в разы медленнее, чем Core2Duo. До 1,5-2 раз буквально на некоторых задачах, на равной частоте.
А у Вас и она сильно отличается.
Сюда добавляем процентов 3-10 на тормоза памяти (у Вас наверняка DDRII что-то 533 МГц и выше небуферизованной на "настольном" vs DDRI-266 ECC Registered на сервере).
То бишь - единственное преимущество, которое может быть у этого старенького сервера перед писюком - производительность на чтение (дисковой) при куче работающих сессий.
Собственно, все
20 июл 09, 15:51    [7436456]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
Vladislav B. Ivanov
Member

Откуда: Россия, Астрахань
Сообщений: 113
a_shats,

Спасибо за исчерпывающий ответ. Посмотрел, действительно, образуется огромная очередь на запись, видимо от того тормоза при апдейтах. Но если использовать базу только на чтение, то этот сервер все-же немного выигрывает. Куда-бы пристроить эту железяку? На ем есть еще SCSI стример на 48 Гб с ленточками DDS-4, может в качестве сервера бэкапа он пойдет?
21 июл 09, 07:30    [7438123]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
Crimean
Member

Откуда:
Сообщений: 13148
если таки включить кеш то будет и на запись ничо
21 июл 09, 10:23    [7438641]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
Crimean,

если таки включить кеш то будет и на запись ничо

И молиться, чтоб не потерять питание на БП сервера При отсутствии BBU и таком слете проблема даже не в том, чтобы понять, что произошло - а в том, что непонятно - где именно произошло. То есть с точки зрения файловой системы все будет хорошо - ровно до попытки прочесть или перезаписать недозаписанные/не сflush'енные блоки.
Второй момент - повторюсь, считалка у SRCU42L оч дохлая. Хуже, чем у SRCU41L aka LSI MegaRAID 320-1. Т.е. даже от включения кэширования отложенной записи RAID5 сильно легче не станет...
21 июл 09, 11:24    [7439103]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
Vladislav B. Ivanov,

Если объема хватает, и он будет успевать за отведенное время - то да, вполне.
Правда, у него и с производительностью на последовательную запись довольно-таки грустно будет. И тут включение кэширования записи может даже ухудшить производительность.
21 июл 09, 11:26    [7439109]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
Vladislav B. Ivanov,

а RAID5 - непременное требование? не хотите попробовать такой конфиг:
2 в RAID1 - под логи
1 - под tempdb
2 - под данные
?
а на стриммер бакапьтесь в свое удовольствие:)
21 июл 09, 11:43    [7439238]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
iljy,

а RAID5 - непременное требование? не хотите попробовать такой конфиг:
2 в RAID1 - под логи
1 - под tempdb
2 - под данные
?


Во изврат... %) Что будете делать, если винт под tempdb упадет ? Точнее, подсказка: что сервер при этом делать будет ?
21 июл 09, 11:51    [7439305]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
a_shats,

заменю;)
21 июл 09, 12:54    [7439761]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
iljy,
заменю;)

Как бы так попроще намекнуть
Что будет с сервером, если одиночный активно юзаемый винт упадет ?
И для чего в ем RAID ? ;)
21 июл 09, 13:04    [7439841]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
a_shats,

эта тема столько раз обсуждалась на форуме, что уже даже как-то лень повторять. RAID5 имеет смысл использовать в одном-единственном случае: когда у вас жесткие требования по онлайн-восстановлению (хотя перестройка массива онлайн - сказочное занятие!), и плюс у вас ОЧЕНЬ ограничены дисковые ресурсы. В любом другом случае надежнее и быстрее будет RAID10.
Далее - у человека явные проблемы с быстродействием дисковой подсистемы. Напрашивающийся вывод - разделить дисковый массив на части, дабы операции распараллелить. А схема, которую я привел, даже мелкомягкими рекомендуется. С поправкой - tempdb на RAID0, данные на RAID10.
В случае выпадения диска - вам сказочно повезет, если таки выпадет диск с tempdb, ибо в этом случае его действительно достаточно просто заменить. В другом случае - придется потратить некоторые усилия на восстановление целостности. Но! Данная система позволяет восстановить данные даже при одновременном выпадении любых 2х винтов, в отличие от RAID5.
21 июл 09, 13:14    [7439927]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62917
От одного до N - в зависимости как повезет/не повезет

--
http://www.podgoretsky.com
21 июл 09, 13:25    [7440005]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
Anatoly Podgoretsky,

вы про диски? и какой же 1 диск в моей схеме должен выпасть чтобы данные не удалось восстановить?
21 июл 09, 13:29    [7440027]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62917
RAID10 не гарантирует восстановления при выпадании двух дисков, это если повезет.
При одном диске восстановление гарантировано.

--
http://www.podgoretsky.com
21 июл 09, 13:54    [7440220]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
iljy,

эта тема столько раз обсуждалась на форуме, что уже даже как-то лень повторять

Петька, приборы !
Пятнадцать !
Что - пятнадцать ???
А что - приборы ?!

Я гденить спрашивал разницу в RAID5 и RAID10 ? Я спрашивал - для чего RAID в сервере.
Напрашивающийся вывод - разделить дисковый массив на части, дабы операции распараллелить

Ага. RAID-контроллер, понятно, не может "распараллелить", а Вы - можете
А схема, которую я привел, даже мелкомягкими рекомендуется. С поправкой - tempdb на RAID0, данные на RAID10.

Рекомендуется исключительно теми, кто не помнит, для чего в сервере RAID и как расшифровывается первая буква этой аббревиатуры.
В случае выпадения диска - вам сказочно повезет, если таки выпадет диск с tempdb, ибо в этом случае его действительно достаточно просто заменить. В другом случае - придется потратить некоторые усилия на восстановление целостности. Но! Данная система позволяет восстановить данные даже при одновременном выпадении любых 2х винтов, в отличие от RAID5.

Уф. Ладно, объясняю на пальцах. RAID = Redundant Array of Independent Disks
Redundant - переводится как "избыточный", то есть винтов в нем больше, чем требуется для обеспечения основного функционала.
RAID - средство обеспечения отказоустойчивости, т.е. чтобы сервер продолжил работу при падении как минимум любого одного винта. Именно для этого он и избыточный.
Что RAID0, что одиночный диск свойством устойчивости к отказам не обладают. То есть при их падении работать дальше сервер не сможет.
К восстановлению данных после отказа собственно RAID не имеет никакого отношения. То есть вообще. Он для другого, а именно - еще раз - для обеспечения именно отказоустойчивости.
Так понятнее ? ;)
21 июл 09, 14:01    [7440268]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
Anatoly Podgoretsky,

вы сказали от ОДНОГО до N. Выпадение двух дисков RAID5 тоже не позволяет восстановить. И кстати просто RAID5 при выпадении 2 дисков позволит восстановить данные только из последнего бакапа, а вариант с разбиением и выносом лога на отдельный RAID1 (RAID10) позволит восстановить данные полностью. Хотя конечно не онлайн, но тут уж извините
21 июл 09, 14:01    [7440272]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
a_shats
iljy,
Ага. RAID-контроллер, понятно, не может "распараллелить", а Вы - можете


Именно так. С массивом работа производится последовательно, с небольшим ускорением относительно одиночного диска (обычно процентов 10-15, в редких случаях - до 30). А если у вас данные и лог на РАЗНЫХ устройствах (а RAID в данном случае оказывается одним устройством) - доступ к ним действительно распараллеливается.

a_shats

Рекомендуется исключительно теми, кто не помнит, для чего в сервере RAID и как расшифровывается первая буква этой аббревиатуры.


да нет, напротив, рекомендуется теми, кто с этим хоть когда-нибудь работал. Ибо на практике получается, что за сомнительное достоинство в виде продолжения работы сервера при вылете одного диска (а на средненьком контроллере это действительно будет сомнительная работа) мы платим падением быстродействия и общим снижением отказоустойчивости системы. Если нам действительно нужна отказоустойчивость - используют RAID1 - 10, но тут уже вопрос компромисса (надежность+производительность)/ стоимость.

Сообщение было отредактировано: 21 июл 09, 14:14
21 июл 09, 14:12    [7440354]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
a_shats
Member

Откуда: Москва
Сообщений: 814
iljy
а вариант с разбиением и выносом лога на отдельный RAID1 (RAID10) позволит восстановить данные полностью. Хотя конечно не онлайн, но тут уж извините

Ага, то есть это попытка использовать RAID для исполнения не свойственного ему функционала
Если данные настолько ценны, что нельзя терять даже последние перед сбоем транзакции, то попытка их резервирования внутри сервера вообще бессмысленна. Это надо чемнить какнить синхронно реплицировать куданить тогда.
Я не говорю, что отнесение лога на отдельный массив дело бессмысленное. Оно бессмысленное в том случае, если мало винтов (до десятка) - тогда это просто отбирание производительности винтов, отданных под лог, у основной задачи.
21 июл 09, 14:17    [7440393]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62917
iljy
Anatoly Podgoretsky,

вы сказали от ОДНОГО до N. Выпадение двух дисков RAID5 тоже не позволяет восстановить. И кстати просто RAID5 при выпадении 2 дисков позволит восстановить данные только из последнего бакапа, а вариант с разбиением и выносом лога на отдельный RAID1 (RAID10) позволит восстановить данные полностью. Хотя конечно не онлайн, но тут уж извините

Я не точно выразился, возможно восстановление при выпадании от ДВУХ до N - как повезет.
21 июл 09, 14:19    [7440408]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
a_shats,

вы вообще понимаете, что такое лог базы и как он используется? ЛЮБАЯ запись в базу требует записи в лог, и если они у вас на одном диске (массиве) - это две последовательные операции записи, а если на разных - две параллельные. то же самое - с tempdb, если запросы ее используют, а для сложных запросов это случается часто.

Если данные настолько ценны, что нельзя терять даже последние перед сбоем транзакции, то попытка их резервирования внутри сервера вообще бессмысленна. Это надо чемнить какнить синхронно реплицировать куданить тогда.

синхронно реплицировать может оказаться долго, дорого и некуда. так что есть смысл все-таки попытаться данные максимально надежно хранить на одном сервере. я конечно понимаю, что любой сервер может упасть, например, из окна, но тут уже опять идет компромисс между ТТХ и ценой.
21 июл 09, 14:27    [7440483]     Ответить | Цитировать Сообщить модератору
 Re: Проблемы с MS SQL под Raid 5 SRCU-42L  [new]
iljy
Member

Откуда:
Сообщений: 8711
Anatoly Podgoretsky
iljy
Anatoly Podgoretsky,

вы сказали от ОДНОГО до N. Выпадение двух дисков RAID5 тоже не позволяет восстановить. И кстати просто RAID5 при выпадении 2 дисков позволит восстановить данные только из последнего бакапа, а вариант с разбиением и выносом лога на отдельный RAID1 (RAID10) позволит восстановить данные полностью. Хотя конечно не онлайн, но тут уж извините

Я не точно выразился, возможно восстановление при выпадании от ДВУХ до N - как повезет.


это да, причем для 2 возможно всегда, а дальше уже действительно как повезет. можно и с одного восстановить, если этот один содержит лог
21 июл 09, 14:30    [7440499]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить