Каталог решений - Тестирование параллелизма SQL в среде 1С Предприятие

Тестирование параллелизма SQL в среде 1С Предприятие

Тестирование параллелизма SQL в среде 1С Предприятие

В наличии

Какое отношение параллелизм SQL имеет к среде 1С Предприятие? Целью данной работы является изучение влияния параллелизма SQL на работу с запросами 1С

Категория:

Описание

Цель: изучить
влияние параллелизма SQL
на работу с запросами 1С

Литература: 

Понимание и использование параллелизма в SQL Server

Тестовая среда:

·        
Windows
server 2008 R2 Enterprise

·        
MS
SQL server 2008 R2

·        
1С Предприятие 8.2.19.90

SQL properties:

Рисунок 1. SQL
properties “General”

Рисунок 2.
SQL properties “Advansed”

Инструменты:

·        
SQL
server profiler

·        
SQL
Query

·        
Консоль запросов 1С

Тестовый запрос:

ВЫБРАТЬ

      АК.Наименование КАК Наименование

ИЗ

      РегистрСведений.АдресныйКлассификатор
КАК АК

              ВНУТРЕННЕЕ
СОЕДИНЕНИЕ
РегистрСведений.АдресныйКлассификатор КАК АК1

                   ПО
АК.Код = АК1.Код

Подготовка:

Запускаем SQL server Profiler,
устанавливаем соединение, отмечаем события и колонки как показано на рисунке 3.

Рисунок 3. Trace properties

Устанавливаем отбор для нашей базы 

Рисунок 4. Фильтр по базе


Сокращения:

·        
Max
degree of parallelism – MDOP

·        
Сost threshold for parallelism — cost

 

Тестирование последовательного плана запроса (MDOP = 1)

Далее, в среде 1С Предприятие в тестовой базе запускаем
консоль запросов и выполняем запрос (Рис.5)

Рисунок 5. Консоль запросов – время выполнения 20 сек.

Параметр SQL сервера “Max degree of parallelism”
установлен в  1 (без параллелизма).
Смотрим результат в профайлере (рис.6)

Рисунок 6. Последовательный план запроса

SQL
сервер сформировал последовательный план запроса, при этом: общая загрузка CPU = 6,750 (сек), а время на
выполнение запроса  = 7,097(сек)

 

Тестирование параллельного плана запроса (MDOP = 0, cost =5)

Переводим SQL server в режим параллелизма (в SQL Query):

USE
master;

GO

EXEC
sp_configure ‘show advanced option’,
1;

GO

RECONFIGURE
WITH OVERRIDE

 

 

USE
master;

GO

exec
sp_configure‘max degree of parallelism’,
0;

GO

RECONFIGURE WITH
OVERRIDE

 

Выполняем тот же запрос (Рисунок 7)

Рисунок 7. Консоль запросов – время выполнения 16 сек.

Проверяем результат в профайлере (Рисунок 8)

Рисунок 8. Параллельный план запроса

Сервер SQL
в этот раз сформировал параллельный план запроса, при этом общая загрузка CPU = 7,905 сек, а
длительность выполнения запроса = 3,458 сек

 

Тестирование последовательного плана запроса (MDOP = 0, cost = 150)

Попытаемся избавиться от
параллельного плана, используя параметр «Сost threshold for parallelism». По умолчанию
параметр установлен в 5. В нашем случае от формирования параллельного плана
удалось избавиться при значении 150 (в SQL Query):

USE
master;

GO

exec
sp_configure ‘cost threshold for parallelism’, 150 ;

GO

Проверяем выполнение запроса в данных
условиях (рис. 9)

 

Рисунок 9. Консоль запросов – время выполнения
20 сек.

Проверяем результат в профайлере (рис.10)

Рисунок 10. Последовательный план
запроса.

 

Сервер SQL сформировал последовательный план запроса.  Общая загрузка CPU = 7,171 сек, время выполнения запроса =7, 864 сек.

 

 

Выводы:

·        
Выполнение тестового запроса в среде 1С
Предприятия с использованием SQL
сервером параллельного плана запроса дает значительный прирост
производительности по сравнению с последовательным планом (16 сек. против 20
сек. – выигрыш 4 сек.)

·        
Выполнения тестового запроса самим сервером SQL при
использовании параллельного плана запроса происходит в два раза быстрее, чем при
использовании последовательного плана запроса (3,5 сек. против 7,1 сек.)

·        
Параллелизм SQL сервера можно регулировать не только, используя параметр MDOP, но и параметр «Сost
threshold for parallelism»

has been added to your cart:
Оформление заказа