CRM. Конфликт блокировок при выполнении транзакции

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1 2 След.
RSS
CRM. Конфликт блокировок при выполнении транзакции
 
Добрый день!

Конфигурация: 1C:CRM, редакция 1.3   Разработано совместно с "1С-Рарус"
База серверная

Параметры сервера: Microsoft Windows Server 2003 R2
2 ГГц
3,98 Гб ОЗУ

В последнее время часто возникает ошибка блокировок. Ситуации, когда возникает ошибка - разные.
Вот сегодня, например, она возникла при прокрутке списка событий:

{Обработка.CRM_НастройкаПоляОтображенияСодержания(612)}: Ошибка при получении значения атрибута контекста (ГруппаСобытия)
                      Описание = Описание + "" + Объект.ГруппаСобытия + " "    + Объект.СостояниеСобытия;
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft OLE DB Provider for SQL Server: Превышено время ожидания запроса на блокировку.
HRESULT=80040E31, SQLSrvr: SQLSTATE=HYT00, state=33, Severity=10, native=1222, line=1


Подскажите, пожалуйста, в чем может быть причина?
 
Добрый день, Светлана!

Вы используете редакцию еще на платформе 1С:Предприятие 8.1, рекомендуем вам обновить решение до последних релизов и обновить также платформу на  версию 8.2 - только при переходе на новую версию производительность может увеличиться на 30-40%.

Для понимания причины просьба указать, какой вариант установки используется (файловый, клиент-серверный), сколько пользователей в базе работает в момент блокировки, какие параметры сервера SQL  и сервера 1С:Предприятие(если используется клиент-серверный вариант установки), размер вашей базы данных.
 
У нас платформа 8.2.15.301

Вариант установки: клиент-серверный
Сколько было пользователей в момент блокировки точно не помню, примерно - 4-6 человек
Размер базы: 41 Мб
SQL Server 2005
 
При таких параметрах все должно просто летать :) Уточните, что у вас с параметрами оборудования на котором все это крутится: сервер SQL и сервер 1С:Предприятия.

PS: указанный вами релиз не предназначен (не оптимизировался) для работы на платформе 8.2, имейте это ввиду.
 
Параметры сервера: Microsoft Windows Server 2003 R2
2 ГГц
3,98 Гб ОЗУ

SQL Server 2005
Microsoft SQL Server Management Studio 9.00.2047.00

Если не те параметры написала, скажите, пожалуйста, где посмотреть надо )
 
Вы указали параметрs какого сервера? Сервера 1С:Предприятия или SQL сервера?
 
это один и тот же компьютер
 
Теперь понятно. Только для одного SQL сервера минимальными системными требованиями является минимум 4 Гб  ОЗУ иначе работа будет не стабильная и может не корректна. У вас на этом же ПК установлен сервер 1С:Предприятие  которые также требует ресурсов. Скорее всего у вас еще какие-то программы установлены на нем же. С большой долей вероятности проблема  в том, что программы просто постоянно "воюют" между собой за ресурсы ПК и все медленно работает из-за этого. Вам нужно или увеличить мощности вашего ПК (разнести их на несколько ПК) или перейти на файловый режим работы. Других вариантов я не вижу.
 
У нас проблема в блокировках, они не всегда бывают, но бывают

Быстродействие работы в остальном нас устраивает
 
Цитата
Светлана пишет:
В последнее время часто возникает ошибка блокировок. Ситуации, когда возникает ошибка - разные. Вот сегодня, например, она возникла при прокрутке списка событий:
Уточните, где вы просматривали события? Дкмаю не в списке событий?
Вероятно в АРМ на закладке Контакты? Именно там находится поле отображения содержания, в котором возникают блокировки..

Пришлите пожалуйста скриншот настроек для документа события - в окне информации в контекстном меню пункт "Настройка поля отображения...", там выбрать Событие в списке слева.

очень уж странно что блокировки по сути происходят при чтении, в SQL не должно быть проблем при этом...

Вы не изменяли в конфигурации режим управления блокировками - стоит "Автоматический" ? (в свойствах конфигурации)
 
На всякий случай уточню - что у вас стоит в конфигуратре в настройках параметров информационной базы (меню Администрирование)? Какое там время ожидания на блокировках установлено?
 
Алексей, события просматривали в АРМ на закладке контакты.
Режим управления блокировками не изменяли - автоматический.
Время ожидания на блокировках - 20 сек.


Вот это не поняла где посмотреть:
Пришлите пожалуйста скриншот настроек для документа события - в окне информации в контекстном меню пункт "Настройка поля отображения...", там выбрать Событие в списке слева.

Какие именно настройки Вас интересуют?
У нас проблема возникает не только в приведенному случае, это как пример я привела.
 
Нашла настройки )
 
у вас в настройках все так как на скриншоте?
 
О, вы уже выложили :)
 
Есть ли у вас события длительностью более одного дня? то есть не "точечные", а на длительный период?
Например вводятся часто события на месяц и больше?

Какой процент относительно продолжительных событий?
с вероятностью 99% проблема именно в  этом
 
Длительных событий примерно 35% (из того, что есть на данный момент)
 
Добрый день, Светлана!

Спасибо за подробное описание всей информации :).
В редакции 1.3 не были оптимизированы записи длительных Событий. Это воспроизводилось, как у вас при использовании длительных Событий. В редакции 1.4 этот модуль был переписан и оптимизирован. Ранее вам рекомендовали не раз это сделать - проблема будет решена.
 
Алексей, подскажите, пожалуйста, как называется модуль, который был переписан и оптимизирован?
 
Модуль проведения документа Событие.
 
Тогда все ясно. Проблема в следующем:
В УТ 10.3 крайне неоптимальный алгоритм записи данных события регистр сведений для Календаря. при записи каждого Соыбтия создается запись на каждые пол-часа из указанного периода события. То есть в день это 48 записей. Соответственно если событие создано на месяц - это 30*48 = 1440 записей! Запись события на год - это вообще феерическое действие.
Все это сделано для оптимизации заполнения и отрисовки Календаря.
Но сама запись - это пол-беды. Самое страшное, что после этого записи могут еще и еще и физически сортироваться, что приводит вообще к полной блокировки таблицы регистра. Опять же для того чтобы быстрее формировать Календарь.

Способа решении проблемы 3:
1) Перейти на CRM 1.4. Когда появился поток жалоб на блокировки  и медленную запись, мы отказались от механизма 1С и сделали свой. В результате вместо тысяч записей делается максимум 3 - на время начала, на время окончания и на весь период от конца первого дня до начала последнего. Соответственно независимо от периода События запись делает мгновенно.
Конечно Календарь заполняется медленнее чем раньше, но это не критично и проблем не вызывает.

2) если у вас большие доработки и нет возможности перейти на 1.4 - просто перетащите новый механизм из 1.4, он не сложный.

3) Как мне подсказывают, в УТ10.3 запретили вводить События больше чем на 1 день.  Это третий вариант :)
 
Алексей, большое спасибо за подробный ответ!

Доработок много, наверное. попробуем вариант 2.
 
Сравнила Обработку проведения в нашей CRM 1.3 с обработкой проведения в 1.4.5.2 - процедуры аналогичные.  Я так понимаю, что речь идет о РС "СобытияКалендаряПользователяобобщенные", но различий найти не удалось. Подскажите, пожалуйста, в чем именно новый механизм?
 
У нас сейчас вносится 1 запись на день, т.е. для годового события 362 записи
 
Нет, регистр "СобытияКалендаряПользователяобобщенные" служит просто для регистрации дней, он и называется "обобщенные".
Я говорил про регистр "СобытияКалендаряПользователя", проблема была с ним.
У вас в него не добавляются записи при записи Событий? Он пустой?
Значит у вас посл. релиз редакции 1.3. Я сейчас посмотрел, мы внесли изменения не в 1.4, а еще в последних релизах 1.3
Если РС "СобытияКалендаряПользователя" у вас пустой, тогда непонятно, откуда берутся блокировки..
Надо анализировать доработки, которые вы вносили.
Вы добавляли какие то движения в документ Событие?
Страницы: 1 2 След.
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С