PDA

Просмотр полной версии : Длина очереди диска на SQL сервере



ElvisPresley
20.01.2011, 09:19
Всем добрый день!
Очень нужна помощь в поиске и устранении проблемы связанной со средней длиной очереди диска продолжительное время во время формирования отчета 1С8.1.
Расклад следущий:

Конфигурация сервера SQL
платформа Intel
CPU Intel Xeon E5410 2 шт
RAM 32Gb (максимум что можно воткнуть в платформу)
Дисковая система:
Raid контролер Intel SRCSAS18E с кеш 256Мб
Жесткие диски: Seagate ST3450857SS SAS 450Gb - 8 шт.
Из 7 HDD построен RAID5 + 1 HDD Global Spare
Внутри RAID5 создано два виртуальных диска: VD1=560Gb и VD2=2Tb

ПО сервера SQL:
Windows Server 2003 STD x64 RUS лицензионный + актуальные обновления
SQL Server 2005 STD X64 ENG лицензионный + актуальные обновления

Для SQL server выделено 31Гб оперативной памяти.

Подробнее о дисковой системе сервера SQL:
На VD1 находятся следующие разделы NTFS:
C: Система + Установочные файлы SQL. Объем 50Гб, свободно 37.
D: Файлы SQL: tempdb(.mdf и .ldf) и остальные системные БД, плюс 3 рабочих базы общим объемом 12Гб. Объем 455Гб, свободно 430Гб.
Z: SWAP. Объем 50Гб, свободно 8Гб.
На VD2 находятся следующие разделы NTFS:
S: Рабочая база SQL: DBSQL_WORK(.mdf и .ldf). Объем 1,9Тб, свободно 1,6Тб.

Регламентные задачи SQL:
ПН-СБ:
Update Statistics и затем

USE DBSQL_WORK;
DBCC FREEPROCCACHE;
exec sp_msforeachtable N'DBCC INDEXDEFRAG (DBSQL_WORK, ''?'')';
backup log DBSQL_WORK with truncate_only;
dbcc SHRINKFILE (DBSQL_WORK_log, 1024);

USE tempdb;
backup log tempdb with truncate_only;
dbcc SHRINKFILE (templog, 100);

ВС:
Update Statistics и затем
USE DBSQL_WORK;
DBCC FREEPROCCACHE;
exec sp_msforeachtable N'DBCC DBREINDEX ("?")';
backup log DBSQL_WORK with truncate_only;
dbcc SHRINKFILE (DBSQL_WORK_log, 1024);

USE tempdb;
backup log tempdb with truncate_only;
dbcc SHRINKFILE (templog, 100);

Recovery Model для всех БД SQL - Simple

В 1С8.1 есть отчет, которым пользуются все сотрудники и очень часто. Этот отчет шестрит всю базу за несколько лет, объем которой составляет 180Гб (сам файл mdf 320Гб сейчас). Сам сервер 1С8 и сервер SQL 2005 разнесены на две разные машины. Во время построения отчета запускаю Системный монитор и на протяжении 20-30 сек счетчик "Cредняя длина очереди диска" показывает пик.

Добавил счетчик "Средняя длина очереди чтения диска" D. Именно он показывает длительное время пиковую нагрузку на графике. Этот же счетчик для диска S (файлы рабочей базы) никакой нагрузки не показывает в этот момент.

Нагрузка процессора в момент формирования этого отчета можно сказать никакая: 2-5%.

Хочу разобраться в чем затык на сервере, но не хватает квалификации. Помогите, пожалуйста.

tmolot
27.01.2011, 13:02
У вас используется RAID5, данный массив обычно выбирают для хранилищ данных где можно получить максимум объема и скорость не так важна (бекап, виртуалки).
Что за swap? Для работы windows? - отключить полностью, памяти для работы mssql хватать должно, у вас ведь только базы, компоненты BI(OLAP,Report,IS) неиспользуются.
Базу и файл транзакций(.mdf и .ldf) разнести на разные физические носители (требуется докупка оборудования).

Мобыть система для работы с БД, у Вас продумана неверно?

Какой актуальности требуются данные для работы?

Можно на сервер 1с поставить standby базу, обновлять её каждые полчаса. Настроить чтобы отчёт выбирал только с этой базы, а другие данные с главного сервера.

Посмотреть планы запросов.

Можно сделать на базе BI компоненты такой же отчет как в 1с, чтоб напрямую выбирал - тут однако требуется аналитик, зато работать будет быстро.

AlexRein
27.01.2011, 14:05
У вас используется RAID5, данный массив обычно выбирают для хранилищ данных где можно получить максимум объема и скорость не так важна (бекап, виртуалки).

Может я совсем того. Но RAID5 обеспечивает отказоустойчивость системы, при этом сохраняя производительность как у RAID0(ну на 10-20 процентов ниже).

RAID 0 представлен как дисковый массив повышенной производительности и меньшей отказоустойчивости.
RAID 1 определён как зеркальный дисковый массив.
RAID 2 зарезервирован для массивов, которые применяют код Хемминга.
RAID 3 и 4 используют массив дисков с чередованием и выделенным диском чётности.
RAID 5 используют массив дисков с чередованием и "невыделенным диском чётности".
RAID 6 используют массив дисков с чередованием и двумя независимыми "чётностями" блоков.
RAID 10 — RAID 0, построенный из RAID 1 массивов
RAID 50 — RAID 0, построенный из RAID 5
RAID 60 - RAID 0, построенный из RAID 6

http://ru.wikipedia.org/wiki/RAID

tmolot
27.01.2011, 14:13
"(-): Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25% от производительности RAID 1 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи сервера заменяется на контроллере RAID на три - одну операцию чтения и две операции записи). Недостатки RAID 5 проявляются при выходе из строя одного из дисков — весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат. Следует также принять во внимание, что процесс RAID Reconstruction (восстановления данных RAID за счет избыточности) после выхода из строя диска вызывает интенсивную нагрузку чтения с дисков на протяжении многих часов непрерывно, что может спровоцировать выход какого-либо из оставшихся дисков из строя в этот наименее защищенный период работы RAID, а также выявить ранее необнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), что повышает риск сбоя при восстановлении данных. Минимальное количество используемых дисков равно трём."

Намёк был на использование 0;10-го. Посоветуйте лучше что нибудь.

AlexRein
27.01.2011, 14:32
"Основные характеристики"
Производитель OCZ
Модель 1 Тб Z-Drive p84 OCZSSDPCIE-ZDP841T
Отличительная особенность Бесшумный, энергоэффективный, с малым тепловыделением
Тип чипов MLC (Multi Level Cell)
Кэш 256 Мб
"Параметры производительности"
Скорость чтения До 870 Мб/сек
Скорость записи До 780 Мб/сек
Установившаяся скорость передачи данных До 600 Мб/сек
Пропускная способность интерфейса 4 Гб/сек
Скорость доступа <1 мс