|   |   | 
| 
 | Степени параллелизма в MS SQL Server | ☑ | ||
|---|---|---|---|---|
| 0
    
        BigShmax 19.11.13✎ 12:02 | 
        подскажите  как отреагирует SQL
 =0 это полное распараллеливание как я понимаю. =1 - наоборот выключено распараллеливание. а как отдать например половину или четверть из 32 ядер ? если я укажу =16 будет два ядра на один запрос или наоборот половина? Задача. есть расчёт себестоимости при = 0 считается 4-7 часов но из низ около 3 часво никто работать не может. при =1 вот уже 13 часво считает запросами занято одно ядро и конца края нет. хочу выставить показатель так чтобы половина распараллеливание шло на половину ядер. | |||
| 1
    
        ДенисЧ 19.11.13✎ 12:03 | 
        ну так выставляй и экспериментируй     | |||
| 2
    
        Maxus43 19.11.13✎ 12:07 | 
        http://technet.microsoft.com/ru-ru/library/ms188611(v=sql.105).aspx
 думаешь это что-то решит? >>при = 0 это дефолт, сервер сам определяет паралелить и на сколько или нет | |||
| 3
    
        BigShmax 19.11.13✎ 12:08 | 
        я проверю.  в будущем  просто запросы сменяюмся медленно. :-)   текущий длится уже час.  и если  когда он таки просчитается  и следующий  займёт половину ядер будет супер.  займёт два ядра будет плохо :-)     | |||
| 4
    
        BigShmax 19.11.13✎ 12:09 | 
        (2)  = 0  это супер  но   три часа перерыва в работе БД это много. я готов его держать в нуле и только на расчёт 1-3 раза в месяц выставлять ручками в другое значение мне сейчас нудно понять  какое  4 или 16 например     | |||
| 5
    
        Maxus43 19.11.13✎ 12:09 | 
        (3) почитай сначала внимательней что значит этот параметр. Это нифига не то что он записывает данные в 2 или больше потокой или читает. Только некоторые операции можно распаралелить     | |||
| 6
    
        BigShmax 19.11.13✎ 12:10 | 
        а за ссылка спасибо ушёл читать.     | |||
| 7
    
        BigShmax 19.11.13✎ 12:14 | 
        (5) ну у меня  есть яркий пример.  при  = 0   расчёт себестоимости занимает все 32 ядра на SQL сервере на 3-4 часа.   на какие то попытки  что нить с ним сделать отзывается еле еле  соотвественно. потому что процессорная мощность ниже планки 100% не падает часами.   при  = 1  только одно ядро занято на 100% остальные отдыхают. и расчёт  идёт себе параллельно никому не мешает но боюсь  что времени уйдёт на него чуть ли не в 32 раза больше.  т.е. имея  опыт наблюдений  с  значениями выставленными в ноль или единицу  параметр ведёт себя именно как распараллеливание.     | |||
| 8
    
        Sorm 19.11.13✎ 12:15 | 
        (0)http://technet.microsoft.com/ru-ru/library/ms181007(v=sql.105).aspx
 Ставь 0, дашь нагрузку на оптимизатор, зато сервер сам определит, сколько ему нужно процессоров. В чем может быть беда (иногда) - в том, что издержки на построение плана запроса при параллелизме могут быть больше, чем построение плана запроса без него. | |||
| 9
    
        Sorm 19.11.13✎ 12:16 | 
        (7) Что-то мне подозрительна такая нагрузка... Размеры базы каковы? С индексами, со статистикой все в порядке?     | |||
| 10
    
        BigShmax 19.11.13✎ 12:17 | 
        (8)  как мне ещё обяснить что при занчении выставленном в ноль  я полностью блокирую работу в БД других пользователей.  и в нормальной работе  этот показатель у меня в нуле  НО при себестоимость мне параметр надо менять.   чтобы около 50 %  ушло на себестоимость а остальное пользователям.     | |||
| 11
    
        Maxus43 19.11.13✎ 12:19 | 
        (7)(10) этот параметр не является истиной, оказыванет влияние на блокировки и производительность только косвенно, в зависимости от конкретного случая, проблемы с производительностью решаются комплексно обычно, а не тим параметром     | |||
| 12
    
        Maxus43 19.11.13✎ 12:22 | 
        >>чтобы около 50 %  ушло на себестоимость а остальное пользователям.
 параметр к этоу не имеет отношения | |||
| 13
    
        BigShmax 19.11.13✎ 12:24 | 
        (11)(12)  спасибо.     | |||
| 14
    
        Sorm 19.11.13✎ 12:25 | 
        (10) http://technet.microsoft.com/ru-ru/library/ms189094(v=sql.105).aspx Чеж непонятного?... Но не жди прямой корреляции, не жди.     | |||
| 15
    
        Sorm 19.11.13✎ 12:28 | 
        (0) На небольших базах 1С (<20ГБ) всегда ставлю серваку 1. Проверено неоднократными опытами. Затраты на параллелизм там всегда больше, чем на работу без него.     | |||
| 16
    
        BigShmax 19.11.13✎ 12:29 | 
        (14)   прямая корреляция это фантастика  не жду. :-)   главное  что я понимаю  что с моим  кол-м ядер нуждно указать  примерно их половину.   кстати ссыла  из (14)  не прямо но опровергает (11)(12)  :-)  Хоть   авторитет  автора для меня заоблачен.     | |||
| 17
    
        Sorm 19.11.13✎ 12:33 | 
        (16) Ты их выделишь для параллелизма, а вот будут ли они параллелить...:) Читай внимательно ссылку из (2)...     | |||
| 18
    
        BigShmax 19.11.13✎ 12:33 | 
        (15)  БД под 300 гиг всего . но если убрать огромные регистры себестоимости и хранилище  то около 200.     | |||
| 19
    
        BigShmax 19.11.13✎ 12:34 | 
        (17) судя как они параллелились при значении 0  до и  при значении 16 будут - куда им деваться     | |||
| 20
    
        capitanjack1 19.11.13✎ 12:38 | 
        Долго проводится не из за SQL сервера, причина невозможности скорее всего в блокировках. Чтобы быстрей работало проведение нужно смотреть настройки сервера 1С рабочие процессы, может быть увеличивать процессорную мощность самого сервера.     | |||
| 21
    
        Sorm 19.11.13✎ 12:39 | 
        (20) Если копать в эту сторону, то возникает вопрос - а tempDB где находится?     | |||
| 22
    
        Maxus43 19.11.13✎ 12:44 | 
        да хоть на 20 потоков "распаралель" - если возникнет блокировка то пользователи всё равно не смогут работать, а если мы говорим о РСВ - там задействоаны почти все объекты важные конфы, естетсвенно блокировки. РСВ - регламентная операция, мы на ночь ставили просто частенько     | |||
| 23
    
        BigShmax 19.11.13✎ 12:48 | 
        (20)(21)  занято именно процессорное время на sql сервере.  сервер 1с при расчёте отдыхает.  SQL  с дисков почти ничего не пишет и не читатет.   tempDB  на SSD ? но повторюсь - занято процессорное время.  себестоиомсть самопал.     | |||
| 24
    
        BigShmax 19.11.13✎ 12:48 | 
        (22) блокировок нет.   время рассчёта не зависит от монопольного или разделённого режима     | |||
| 25
    
        ansh15 19.11.13✎ 12:49 | 
        (18) Сам сервер есть возможность более подробно описать?
 Я так понимаю это он v8: конфигурируем новый SQL сервер ? | |||
| 26
    
        BigShmax 19.11.13✎ 12:51 | 
        (25) в общем да.  система на рейд 1.  дата на рейд 0 6 штук SAS 15000   ldf на рейд0  и  tempdb на SSD .   но  я   еще  разок повторюсь  занят процессор  и более никто     | |||
| 27
    
        ansh15 19.11.13✎ 12:55 | 
        (26) А процессоры с памятью что из себя представляют? Гипертрединг включен/выключен, турбобуст как себя ведет?     | |||
| 28
    
        senior 19.11.13✎ 12:56 | 
        (7) "параллельно, никому не мешая"? А с блокировками проблем нет? (и скока размер базы? РАУЗ?)     | |||
| 29
    
        Sorm 19.11.13✎ 12:57 | 
        (26) Реиндексация, update stat - нормально все с этим?     | |||
| 30
    
        Reaper_1c 19.11.13✎ 13:00 | 
        (0) В течении этих 3-х часов видимо происходит запись в регистры учета затрат. На работу пользователей загрузка процессоров не должна влиять так, чтобы они совсем остановились - скорее здесь идет столкновение на блокировках. Разумнее будет датами запрета редактирования заблокировать всем пользователям работу в периоде, за который ты выполняешь расчет и запустить его вне транзакции. А перед запуском - отключи итоги на регистрах затрат, включишь после успешного расчета. Таким образом ты риск столкновения на блокировках значительно уменьшишь.     | |||
| 31
    
        BigShmax 19.11.13✎ 13:02 | 
        не блокрирвоки  .  скорость расчёта в монопольном не уменьшается не рауз.  время расчёта не проблема  оно изначально было таким. разрабочики не смогли сократить время удовлетворив  всех потребностей руководства.  проблема не в скорости расчёта  а как заставить SQL отдавать много процессорного времени но не всё.     | |||
| 32
    
        BigShmax 19.11.13✎ 13:02 | 
        регламенты с базами выполняются конечно же.     | |||
| 33
    
        Reaper_1c 19.11.13✎ 13:04 | 
        (31) Если это не блокировки - расшифруй фразу "никто работать не может"?     | |||
| 34
    
        BigShmax 19.11.13✎ 13:06 | 
        про HyperThreading не скажу :-(   где посмотреть?  и  в каком положении он должен быть?     | |||
| 35
    
        BigShmax 19.11.13✎ 13:07 | 
        (33) как Вы думаете   как  весело кому то работать если занятость ядер ВСЕХ не падает ниже 100% на протяжении часов? т.е. они заняты. у меня  проводник минуту открывается потому что тупо  процы заняты.     | |||
| 36
    
        ansh15 19.11.13✎ 13:50 | 
        (34) Модель процессора и сколько их установлено в сервер скажите. И сколько памяти(если не секрет).
 В BIOS материнской платы сервера. | |||
| 37
    
        Maxus43 19.11.13✎ 13:58 | 
        никогда не видел чтоб узкое место было - процессоры. расходы на чтение-запись данных, очереди сети на порядки превышают обычно процессорное время     | |||
| 38
    
        Sorm 19.11.13✎ 14:00 | 
        (37) Крайне большое количество мелких запросов при максимальном параллелизме - может быть... Обрати внимание на (23) "себестоиомсть самопал."     | |||
| 39
    
        Reaper_1c 19.11.13✎ 14:01 | 
        (35) Так у тебя, что терминальный сервер совмещен с СУБД?     | |||
| 40
    
        Maxus43 19.11.13✎ 14:02 | 
        (38) тогда скорее всего справедливо будет "90% тормозов находися в коде"...     | |||
| 41
    
        Sorm 19.11.13✎ 14:18 | 
        (40) Согласен.     | |||
| 42
    
        BigShmax 19.11.13✎ 15:12 | 
        (39)  процессоры  ссервера  СУБД заняты на 100%  им не до ваших запросв  и именно поэтому невозможно работать.     | |||
| 43
    
        andr_andrey 19.11.13✎ 16:29 | 
        (42) У вас NUMA архитектура с 4 процессорами по 8 ядер в каждом? Тогда следуйте рекомендациям http://support.microsoft.com/kb/2806535     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |