Имя: Пароль:
1C
1С v8
Управляемые блокировки на оборотный регистр
0 breezee
 
23.11.17
09:04
Коллеги, добрый день! Есть не типовой оборотный регистр в УПП. У УПП режим блокировок управляемый. У регистра автоматический. Поможет ли перевод оборотного регистра в управляемый режим блокировок? Надо ли устаннавливать управляемую блокировки для увеличения параллельности? Контроля остатков по этому регистру нет(и быть не может, так как он не остаточный)
1 ptiz
 
23.11.17
09:07
(0) Прочитай мануалы про сочетание режимов блокировок конфигурации и объектов, и вопрос отпадет.
2 breezee
 
23.11.17
09:07
(0) Поможет ли перевод оборотного регистра в управляемый режим блокировок?
Имел ввиду что система безбожно тормозит, гов-ода нет(есть, но мало). Грешу на блокировки автоматические
3 Мимохожий Однако
 
23.11.17
09:08
Нет. Если не понял первопричину тормозов. Замеры производительности делал?
4 breezee
 
23.11.17
09:09
(1) Да, отпал вопрос
Если же установлен режим Управляемый, то, независимо от того, какие режимы управления блокировками установлены для конкретных объектов конфигурации (об этом смотри далее), при записи, скажем, документа система всегда будет самостоятельно устанавливать необходимые управляемые блокировки, которые будут обрабатываться собственным менеджером транзакционных блокировок. Этот режим предназначен для работы всей конфигурации только с управляемыми блокировками в транзакции.
5 breezee
 
23.11.17
09:11
(3) Делал, там везде значения меньше процента в обработке проведения, хз, что делать...
Загрузка документов идет с интернета, документы загружаются и проводятся секунд за 8, что очень долго. Погуглил, решил включить режим "Read committed snapshot" на скуле, подумал, что проблема где-то в блокировках может быть
6 breezee
 
23.11.17
09:15
Может есть идеи у кого, как поправить ситуацию? Нашел обработку, которая смотррит блокировка, он она на УФ(можно переделать, но я не уверен что это оправдано, так как не выявил проблему)
7 ptiz
 
23.11.17
09:30
(6) Разделение итогов включено? (в конфигураторе и предприятии)
8 breezee
 
23.11.17
09:35
(7) У регистра не включено, в предприятии тоже включается?
9 ptiz
 
23.11.17
09:40
(8) Включи, и там, и там.
10 breezee
 
23.11.17
10:05
(9) В предприятии было включено, в конфигураторе нет - жесть какая-то
11 mistеr
 
23.11.17
10:42
(5) Может у тебя загрузка из интернета долго идет. Попробуй записывать без проведения и сравни время.

Если все же запись или проведение, то найди тормозящий запрос и профилируй его в скуле.
12 breezee
 
23.11.17
10:46
(11) У меня без проведения не выйдет, там все завязано, был еще вариант отдельно грузить проводки, но тогда по времени тоже самое должно выйти. А тормозящих запросов нет, были, но они переписаны, если я буду оптимизировать строчки кода по 0,5% я эти 0,5% и выиграю, прям безысходность(
13 breezee
 
23.11.17
10:47
Подскажите, в УПП же управляемые блокировки? не будет граязного чтения если включу режим Read commited snapshot на скуле?
14 тарам пам пам
 
23.11.17
11:58
(12) проверь еще в замере производительности время выполнения в целом по функциям - скорее всего в какой-то из них алгоритм в целом неэффективно написан, 100 строк по 0,5% - уже 50%.

(13) Read commited snapshot включать можно, это платформа вообще должна сама делать начиная с 8.3 ЕМНИП.

Но ты вообще не совсем правильно идешь. С чего ты взял, что у тебя тормозят именно блокировки? В монопольном режиме быстро проводится? Если в монопольном режиме тоже тормозит, то это сто процентов НЕ блокировки.
15 breezee
 
23.11.17
13:22
(14) В монопольном тоже медленно, я не знаю виновника( Вроде и оборудование не загружено и все ок в коде, а проводиться не очень быстро
16 H A D G E H O G s
 
23.11.17
13:23
(15) Позовите специалиста.
17 breezee
 
23.11.17
13:34
(16) Хочу получить свой опыт, на фиксе не так много развлечений)
18 тарам пам пам
 
23.11.17
14:09
(15) Значит в коде не "все ок". Если код не очень большой, можешь сюда его выложить, желательно вместе с замером.
19 Cyberhawk
 
23.11.17
14:12
"В монопольном тоже медленно" // Как проверял? Конкретнее как ты делал монопольным режим?
20 mistеr
 
23.11.17
14:42
(12) Но 8 секунд откуда-то берутся. В замере ты их видишь или нет?
21 vis_tmp
 
23.11.17
14:44
А УПП полностью типовая?
22 Spieluhr
 
23.11.17
18:29
(17) Начните с понимания того как считает время Замер производительности. Что в нем учитывается, а что нет.
С блокировками проблем у вас точно нет
23 Cyberhawk
 
23.11.17
18:41
+(22) Например длительность выполнения запроса при открытии ДС (дин. списка) замер не учитывает: форма может открываться 5 секунд, а по замеру 0.5 секунд :)
24 breezee
 
23.11.17
19:06
(21) Нет, сильно переписанная (22) Клиентские и серверные вызовы (23) С формой не работаю, загрузка без форм
25 Cyberhawk
 
23.11.17
19:13
(24) Обрати внимание на первое слово
26 breezee
 
23.11.17
19:25
Подскажите, плз. Есть сейчас не типовой регистр остатков. Если я включу на sql read commited snapshot isolation - при контроле остатков у этого регистра без наложения управляемых блокировок могут считаться не правльные данные? Режим управления блокировк у конфы сейчас управляемый
27 breezee
 
23.11.17
19:46
>В обычном режиме MS SQL Server каждый делает попытку наложить блокировку на строку с нужной записью остатков.
Когда вы включите версионирование, то каждый пользователь прочитает ВЕРСИЮ,
которая предварительно будет помещена из основной базы в tempdb.
Затем сделает транзакцию и удалит версию.
(текст с сайта Гилева)

Я правильно понимаю, что все прочитают одни и те же остатки, допустим остаток 50, у 10 пользователей нужно добавить расход по 50, в итоге у нас полчится остаток -450?
28 breezee
 
23.11.17
19:54
(27) Вопрос закрыт, нашел статью на ИС, которая отвечает что без управляемых блокировок ничерта не отработает. Однако, из справки в ИТС делаю вывод, что даже если мы не наложим блокировку через "Новый блокировка данных" все отработает корректно.
"Если же установлен режим Управляемый, то, независимо от того, какие режимы управления блокировками установлены для конкретных объектов конфигурации (об этом смотри далее), при записи, скажем, документа система всегда будет самостоятельно устанавливать необходимые управляемые блокировки, которые будут обрабатываться собственным менеджером транзакционных блокировок. Этот режим предназначен для работы всей конфигурации только с управляемыми блокировками в транзакции."
Я так понял, блокировки могут быть избыточными, ну и хрен с ним, они будут и их прописывать в ручную не нужно. Завтра ставлю режим в скл)
29 Cyberhawk
 
23.11.17
20:19
(28) read commited snapshot isolation дает эффект за счет того, что запрос чтения остатков внутри транзакции не блокирует таблицу остатков до конца этой транзакции
30 H A D G E H O G s
 
23.11.17
20:27
Забей. Никакого выхлопа от твоих телодвижений не будет.
31 breezee
 
23.11.17
21:37
(29) Но управляемые блокировки будут наложены в любом случае на уровне 1С, значит и в СУБД будут
32 breezee
 
23.11.17
21:37
(30) А что порекомендуете?
33 H A D G E H O G s
 
23.11.17
21:40
(32) Ничего. Проблема не в блокировках.
Что в автоматических, что в управляемых - если ты не контролируешь остатки в регистре, а, конкретнее, если ты не читаешь регистр в транзакции проведения - то никакого смысла заморачиваться с блокировками нет. Единственное, для остаточных регистров следует отключить разделение итогов.
34 breezee
 
23.11.17
21:41
(33) При проведении документа много где идет чтение регистра. Почему отключчить? Может, наоборот - включить? Чтобы данные туда быстрее писались
35 H A D G E H O G s
 
23.11.17
21:42
(34) Вы же сами написали в (0), что чтения - нет
36 breezee
 
23.11.17
21:44
Блин, а в чем проблема? И сервер настроили по инструкции с ИТС, а он работает не на полную мощность, проц процентах на 40 крутится постоянно, память тоже не вся отожрана. Код не очень плохой, а ведь проводится медленно
(35) Извините, спрашивал для одного не типового регистра, всего разных не типовых регистров в базе штук 20
37 breezee
 
23.11.17
21:45
(36) Регистров накопления*
38 H A D G E H O G s
 
23.11.17
21:47
(36) "проц процентах на 40 крутится постоянно"

Прекрасный показатель утилизации.
39 ptiz
 
23.11.17
21:47
(36) "Код не очень плохой, а ведь проводится медленно " - вот и надо искать причину, а не бросаться делать "что-нибудь".
40 H A D G E H O G s
 
23.11.17
21:47
41 Demiurg
 
24.11.17
04:50
(0) загрузку делаете надеюсь не через COM?
42 Demiurg
 
24.11.17
04:50
(0) наборзаписей.Прочитать() ведь не используете?
43 Demiurg
 
24.11.17
04:51
(0) собирайте замером отладчика для начала что там у вас при заливке происходит, смотрите куда уходит время
44 breezee
 
24.11.17
05:10
(41) Не смотрел, вроде, не через ком (42) А это критично? (43) Дак собирал, все на проведение уходит
2 + 2 = 3.9999999999999999999999999999999...