Rozetka UARozetka UA Введение в распараллеливание исполнения запроса - DiggerSite

DiggerSite

Rozetka UA Rozetka UA

Введение в распараллеливание исполнения запроса

Introduction to Parallel Query Execution

 

http://www.sql.ru/articles/mssql/2007/070604introductiontoparallelqueryexecution.shtml

Некоторые разумные мысли плюс тяжелая пурга.

Прежде всего- параллелизм является одним из лучших способов повышения производительности работы MSSQL Server. Если задачу распределить на десятерых- ее сделают быстрей. Может не в десять раз, но в пять так точно. То есть, это важный и ценный механизм повышения производительности. И увеличение стоимости запроса тут глубоко до фонаря. Главная цель- снизить время выполнения, и если оно будет работать быстрей, та пусть сервер жужжит погромче, Бог с ним.

Странно выглядят ссылки на 1-2 процессорный сервер. На калькуляторе может еще его поставить? Сегодня число процессоров (ядер) на приличных серверах измеряется десятками и сотнями. Их много, и, как правило, они имеют избыточную мощность, они не загружены. Число ядер у десктопов достигает 8, даже есть такой себе 8-ядерный мутант-переросток Intel Atom.

Вот 18-ядерная машинка Intel® Xeon® Processor E5-4669 v3 (45M Cache, 2.10 GHz), рубится на 36 (!!!) потоков. 36 логических процессоров в одной коробочке.

http://ark.intel.com/ru/products/85766/Intel-Xeon-Processor-E5-4669-v3-45M-Cache-2_10-GHz

Да у меня вон в нетбуке двухядерный процессор стоит. Процессорной мощи, как правило, всегда с избытком, ее не жалко, ее можно конвертировать в скорость исполнения запросов. Тут голова должна болеть за совершенно другое.

Ставил эксперименты  с тестовой таблицей в tempdb— удавалось снизить время работы некой задачи до 5-7%. В 20 раз!!! Чудо- так и делать!

Так не получится. Почему?

Реальные задачи работают иначе. На их работу накладывают серьезные ограничения блокировки и дисковые операции.

Если посчитать по объектам CPUшное время  и общее время выполнения, то открывается интересная картина. Одни запросы нормально распараллеливаются, время работы у них в разы превышает общее время работы. Это и есть реальная степень параллелизма. А у некоторых она меньше единицы. Иные запросы раз в 50 дольше стоят в пробках чем работают.

1 comment for “Введение в распараллеливание исполнения запроса

  1. 31.05.2016 at 19:46

    We are about the BASSE CONSOMMATION iMP Beta and will ensure the idea uses the identical KService’ to send out growing media, despite this software is definitely sealed.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Aliexpress INTAliexpress INTAliexpress INTAliexpress INTAliexpress INTAliexpress INTAliexpress INTAliexpress INTAliexpress INTAliexpress INTAliexpress INT