Цитата:
Сообщение от
3oppo
В первой статье идет рекомендация переключить сервер в режим 'max degree of parallelism' = 1,
Я переключил, однако производительность у меня от этого упала.. Правда проверял я довольно упрощёно, запускал паралельно 3 разных отчета.. Может это должно сказать при более серьезной нагрузке сервера (сервак 16 процов, сервер 2003 ent 64, Sp2).
Может я конечно выбрал не удачные примеры.. Кто тестировал эту опцию более серьезно поделитесь плиз инфой..
В общем - Degree of Parellelism позволяет включить возможность распараллелить исполнения запросов на несколько процессоров (если указано 0 - то на все процессора, если 1 - то ничего не распараллеливается). Реальный выигрыш от распараллеливания случается только на достаточно сложных и больших запросах (особенно если в них много таблиц джойниться). В то же время, если запрос на уровне - join двух таблиц с простым условием и сортировкой - распараллеленная версия запроса работает медленнее чем однопроцессорная. Поскольку в стандартной Аксапте процентов 95 нагрузки это как раз простые запросы, то MAXDOP рекомендуется установить в 1, чтобы SQL не пытался по ошибке распараллеливать то, что распараллеливать не нужно.
То что у вас отчеты стали медленнее работать - как раз нормально, так и должно быть. Просто вопрос в том - что вы хотите ускорить, повседневную работу пользователей или какие-то тяжелые отчеты которые раз в неделю пускаются?
Кстати - по хорошему тяжелые отчеты вообще лучше либо на OLAP-сервере крутить, либо настроить второй SQL-сервер для отчетности и регулярно переносить туда данные через log shipping, скажем.