Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
У нас был сервер БД который очень медленно работал. Купили мы новый:
диски SCSI
- RAID 1, 2*73ГБ, система
- RAID 0, 3*300ГБ, большая БД
- RAID 1+0, 4*146ГБ, основная БД
- один SATA 400ГБ, для backup

По предварительным грубым подсчетам производительность должна была увеличиться хотя бы 2, а то и в 3 раза. Но никто не заметил никакого прироста производительности. Я пользовался в Windows их утилитой Perfmon и счетчиком % Disk Read/Write Time. По счетчику узким местом остается дисковая подсистема.
Пригласили спеца от фирмы поставщика железа. Тот говорит что графики, которые показывает Perfmon фигня. Диски могут читать со скоростью 100МБайт/сек, а сейчас они читают только 70. К ним претензии беспочвенны.

У меня следующие вопросы:
- если Perfmon показывает загрузку 100%, то насколько можно этому верить?
- может быть что затык не в дисках, а в контроллерах? Как такое отследить?
- в чем еще может быть причина неудовлетворительной работы дисковой подсистемы, если не в самих дисках и не в контроллере?
- при чтении данных с RAID 1+0 фактическое чтение происходит сразу со всех дисков участвующих в наборе?
14 июл 05, 10:52    [1702965]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
https://www.sql.ru/articles/mssql/02111903PerformanceCounters.shtml
https://www.sql.ru/articles/mssql/03121001PERF_COUNTERs.shtml
14 июл 05, 10:54    [1702980]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Ниасилил
Guest
Таки какой процесс нагружает-то?
Стопудово дело не в железе
14 июл 05, 10:55    [1702986]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
sybdba
Member

Откуда: Москва
Сообщений: 177
Мерять производительность рейдовой подсистемы стандартными средствами винды (счетчики) не имеет смысла.
Необходимо пользовать софт производителя рейд-контроллера.

Кстати, рейд-контроллер с батарейкой ? Кэш на борту есть/какой ?
Как используется кэш (в процентном соотношении чтение/запись)?
14 июл 05, 11:10    [1703089]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
sybdba
Мерять производительность рейдовой подсистемы стандартными средствами винды (счетчики) не имеет смысла.
Необходимо пользовать софт производителя рейд-контроллера.

Кстати, рейд-контроллер с батарейкой ? Кэш на борту есть/какой ?
Как используется кэш (в процентном соотношении чтение/запись)?

70% чтения

Вот полная спецификация:
CPU Процесор Pentium XEON 3.0GHz/800/1024K Intel Active Radiator 2
MB DualXeon i7520 (800MHz), video, 2*U320 SCSI, 2*Lan (1Gb) 1
RAM Модуль памяти 1024MB DDR2-400 ECC Registered Single Rank 4
HDD 73Gb HitachiGST(10.000rpm) 2
HDD SCSI 300GB HitachiGST (10.000rpm) (80pin) 08K2474 3
HDD 146Gb HitachiGST(10.000rpm) 5
Controller PCI64 2-Channel Ultra320 (CPU i80303) 1
Cache Cache 256M ECC *** 1
FDD 1.44 Mb 1
ODD CD-ROM 52x SAMSUNG 1
Case Сase Server 4U 1
Cable SCSI Internal SCSI U320 Round 2 connectors 1
HeatSink Heasink Active SNK-P0008A4 2
Cable power int кабель питания для CD-ROM 2 Г-образных коннектора (для 4Uсерверов) 1
Cable FDD/IDE Кабель Round cable IDE ATA100 2 connectors, 60cm 4100ATA-RFLEX-24 1
Cable FDD/IDE Кабель FDD USA, 2 коннектора, длинный(0,6) 24" 1


2 tpg
Спасибо за ссылки
Дело все таки в дисковой подсистеме

Я прекрасно понимаю что проблема может быть не в железе, а в плохо написаном коде. Но я здесь работаю 3 месяца только. Переписывать весь код и долго и не имеет смысла, т.к. фирма переходит на САП и SQL будет работать еще года 2. Код оптимизировать будем, но не кардинально. Техническое усиление все равно необходимо.
Вопрос остается открытым: Почему дисковая подсистема не справляется? Я пока только на контроллер думаю.
14 июл 05, 12:24    [1703487]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Cancer3
Вопрос остается открытым: Почему дисковая подсистема не справляется? Я пока только на контроллер думаю.

Потому что...
Cancer3
Я прекрасно понимаю что проблема может быть не в железе, а в плохо написаном коде.
14 июл 05, 12:29    [1703512]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
tpg
Cancer3
Вопрос остается открытым: Почему дисковая подсистема не справляется? Я пока только на контроллер думаю.

Потому что...
Cancer3
Я прекрасно понимаю что проблема может быть не в железе, а в плохо написаном коде.

Был намного слабее сервер. Поменяли на этот лучший новый. Должен быть прирост производительности? А его нет!
14 июл 05, 12:38    [1703563]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Cancer3
Был намного слабее сервер. Поменяли на этот лучший новый. Должен быть прирост производительности? А его нет!
Это как раз и говорит о неоптимальности кода.
14 июл 05, 12:40    [1703567]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
tpg
Cancer3
Был намного слабее сервер. Поменяли на этот лучший новый. Должен быть прирост производительности? А его нет!
Это как раз и говорит о неоптимальности кода.

Можете объяснить почему?
Я мыслю так. Если какая-то задача, пусть даже очень плохо написаная, выполняется на одном сервере 2 часа, то эта же задача на лучшем сервере должна выполнятся все таки быстрее. Где я ошибаюсь?
14 июл 05, 12:51    [1703630]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Так сами ж говорите - Поменяли на этот лучший новый. Должен быть прирост производительности? А его нет!
Самые дорогие операции - это операции ввод/вывода. Если у вас на старом сервере были сплошные сканы при запросах, то что изменится при переезде на новое железо? Сканы как были, так и останутся, скорость возрастет не намного из-за более производительного железа.
14 июл 05, 12:55    [1703657]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
tpg
Так сами ж говорите - Поменяли на этот лучший новый. Должен быть прирост производительности? А его нет!
Самые дорогие операции - это операции ввод/вывода. Если у вас на старом сервере были сплошные сканы при запросах, то что изменится при переезде на новое железо? Сканы как были, так и останутся, скорость возрастет не намного из-за более производительного железа.

Остается оптимизация индексов кроме кода?
14 июл 05, 13:03    [1703701]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
sybdba
Member

Откуда: Москва
Сообщений: 177
Cancer3
sybdba
Мерять производительность рейдовой подсистемы стандартными средствами винды (счетчики) не имеет смысла.
Необходимо пользовать софт производителя рейд-контроллера.

Кстати, рейд-контроллер с батарейкой ? Кэш на борту есть/какой ?
Как используется кэш (в процентном соотношении чтение/запись)?


70% чтения


обычно используется 50/50

Cancer3

Controller PCI64 2-Channel Ultra320 (CPU i80303) 1

уточнить наличие батарейки (+ проверить её состояние)!
ибо если электричество рубанут, то данные в кэше (очередь "запись") будут потеряны
14 июл 05, 13:06    [1703717]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Cancer3
Остается оптимизация индексов кроме кода?
Угу.
14 июл 05, 13:14    [1703766]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Упс... Прочел ваш пост в топике про возможность построения сверхбольших баз на MS SQL Server. Просто тьюнингованием индексов врядли обойдетесь - потребуется и некоторое перепроектирование самой базы с использование секционированных представлений и т.п., советуемых для таких случаев.
14 июл 05, 13:18    [1703800]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
sybdba
обычно используется 50/50

Это сервер центральной БД куда поступают ночью данные из всех филиалов, а днем в основном эти данные просматриваются. Чтения намного больше записи, но от этого ведь не зависит производительность сервера.

sybdba
уточнить наличие батарейки (+ проверить её состояние)!
ибо если электричество рубанут, то данные в кэше (очередь "запись") будут потеряны

Электричество работает стабильно.
А вообще я не понял. А UPS зачем? Каким образом может пропасть электричество только на контроллере, а сервер останется работать?
14 июл 05, 13:24    [1703833]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
sybdba
Member

Откуда: Москва
Сообщений: 177
Cancer3
sybdba
обычно используется 50/50

Это сервер центральной БД куда поступают ночью данные из всех филиалов, а днем в основном эти данные просматриваются. Чтения намного больше записи, но от этого ведь не зависит производительность сервера.

ок

Cancer3

sybdba
уточнить наличие батарейки (+ проверить её состояние)!
ибо если электричество рубанут, то данные в кэше (очередь "запись") будут потеряны

Электричество работает стабильно.
А вообще я не понял. А UPS зачем? Каким образом может пропасть электричество только на контроллере, а сервер останется работать?

всяко может случиться ;) причем даже в достаточно крупных и солидных конторах
бывает, что батареи мертвые или полудохлые ... лучше перестраховаться
14 июл 05, 13:28    [1703865]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
tpg
Упс... Прочел ваш пост в топике про возможность построения сверхбольших баз на MS SQL Server. Просто тьюнингованием индексов врядли обойдетесь - потребуется и некоторое перепроектирование самой базы с использование секционированных представлений и т.п., советуемых для таких случаев.

Какой именно базы? Основной 60 ГБ или с промежуточно посчитанными данными 300 ГБ? Эти базы хранятся на разных RAID. Первая на 1+0, вторая на RAID-0 из трех дисков. Большие проблемы наблюдаются на 1+0.
Никто ничего не ответил на вопрос читаются ли данные сразу со всех 4 дисков RAID 1+0?
14 июл 05, 13:30    [1703878]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Cancer3
tpg
Упс... Прочел ваш пост в топике про возможность построения сверхбольших баз на MS SQL Server. Просто тьюнингованием индексов врядли обойдетесь - потребуется и некоторое перепроектирование самой базы с использование секционированных представлений и т.п., советуемых для таких случаев.

Какой именно базы? Основной 60 ГБ или с промежуточно посчитанными данными 300 ГБ? Эти базы хранятся на разных RAID. Первая на 1+0, вторая на RAID-0 из трех дисков. Большие проблемы наблюдаются на 1+0.
У некоторых и 6 ГБ - сверх большая база ;-). Смотреть надо.
14 июл 05, 13:33    [1703900]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
powerk
Member

Откуда:
Сообщений: 68
Да тут много чего может быть...вполь и до отсутсвия индексов
я бы уделил больше внимания расположению файлов...

1. Где находиться tempdb? на массиве с системой?
2. В каком режиме база? если Full то где лежат логи транзакций? рядом с основными файлами?

Основной смысл: разнесите на наиболее тормозящей базе логи с данными на разные массивы, также вынесите tempdb на отдельный массив можно и к системе положить.

Зачем сделали raid0? эти данные вам совсем не важны? ведь вероятность вылета одного из трех дисков намного выше чем вылета одного...
14 июл 05, 14:50    [1704380]     Ответить | Цитировать Сообщить модератору
 Re: Производительность дисков в сервере. Счетчики производительности.  [new]
Cancer3
Member

Откуда:
Сообщений: 63
powerk
Да тут много чего может быть...вполь и до отсутсвия индексов
я бы уделил больше внимания расположению файлов...

1. Где находиться tempdb? на массиве с системой?
2. В каком режиме база? если Full то где лежат логи транзакций? рядом с основными файлами?

Основной смысл: разнесите на наиболее тормозящей базе логи с данными на разные массивы, также вынесите tempdb на отдельный массив можно и к системе положить.

Зачем сделали raid0? эти данные вам совсем не важны? ведь вероятность вылета одного из трех дисков намного выше чем вылета одного...

TempDB на отдельном одиночном диске.
Режим Simple - ежедневный бекап, остальное можно восстановить.
Данные что на страйпе относительно просто рассчитываются.
Индексы есть
14 июл 05, 14:59    [1704453]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить