bdd2


Бурмистров Андрей

619
Рейтинг

Андрей Бурмистров
Andreynikus



  •   Регистрация: 30.05.2010 (6 лет назад)

  •   Был(а) на сайте: вчера в 16:08


Группы

Профессиональный разработчик

IE 2014 Участник

IE 2015 Участник

IE 2016 Докладчик

Рейтинг 619

Публикации

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


В своей работе мы довольно часто мы сталкиваемся с ситуацией, когда определенный запрос работает медленно, причем по тексту запроса невидно никаких очевидных проблем. Обычно в этом случае необходимо расследовать проблему на более глубоком уровне. Как правило, возникает необходимость посмотреть текст SQL-запроса и его план, и вот в этом нам как раз помогает SQL Profiler.


Ни для кого не секрет, что платформа 1С содержит достаточно большое число ошибок, и иногда эти ошибки настолько критичны, что приводят к аварийному завершению процессов сервера приложений. О последствиях думаю рассказывать излишне. Расследовать такие ошибки самостоятельно сложно, но иногда все-таки можно, об этом и будет данная статья.


Статья навеяна одним хитрым вопросом, который иногда задают на экзамене 1С Эксперт. Вопрос звучит примерно так: «Чем опасен режим удаления движений «Удалять автоматически?»


Эксперт - это человек, совершивший все возможные ошибки в очень узкой области. Часто приходится работать с ЦУП (Центр Управления Производительностью), в итоге наступил, наверное, на все грабли, какие только возможно. Представляю вашему вниманию список частых (и не очень) ошибок в ЦУП и способы их решения. 90% проблем с ЦУП возникает из-за неверной настройки, прав доступа, по вине администраторов и т.д. Здесь же приведены как раз остальные 10%, т.е. ошибки в коде ЦУП и прочие ситуации, которые возникают, даже если все настроено правильно.


Мотивацией к написанию данной статьи, послужило большое количество заблуждений касаемо свойства «БлокироватьДляИзменения». Большая часть материалов в сети, посвящена либо управляемым блокировкам, либо режиму разделения итогов, свойство «БлокироватьДляИзменения» затрагивается лишь частично без конкретики, в итоге у многих возникают вопросы при его использовании. Цель данной статьи заполнить этот пробел. Прошу сначала прочитать статью полностью и только после этого делать выводы. Надеюсь, данный материал будет кому-то полезен.


Комментарии

HighLoadОшибки в ЦУП и способы решения#101 06.12.16 13:46
(100)
Тимофей, а можете подробнее написать, для какого именно модуля вы установили это флаг?
HighLoadПросмотр заблокированных строк в 1С#10 04.12.16 14:33
(7)
Напишите поподробнее, что вы имеете ввиду?
HighLoadПросмотр заблокированных строк в 1С#9 04.12.16 14:30
(6)
Блокировки 1С на сервере приложений, блокировки СУБД на сервере СУБД. Обработка может показывать и то и другое.
HighLoadПросмотр заблокированных строк в 1С#8 04.12.16 14:27
(6)
Нет конечно, блокировки 1С находятся на сервере приложений, именно их обработка и показывает если включить флаг.
HighLoadКонсоль анализа запросов (или как выиграть ноутбук)#64 03.11.16 13:38
(63) ture,
Пришлите полностью текст запроса на котором проявляется эта ошибка.
НовостиИтоги конференции Infostart Event 2016 Developer#28 01.11.16 14:14
Все понравилось, идея с 3-м залом на втором этаже хорошая.
HighLoadОшибки в ЦУП и способы решения#98 01.11.16 12:33
(97) Kamikadze, а причем здесь флаг Удалять трассировки?
Вам надо попробовать 2 варианта решений:

1. Пользователю ОС под которым запущен клиент ЦУП и пользователю ОС под которым запущен сервер 1С на котором размещается база ЦУП, нужно дать права «Alter trace» в SQL Server, просто откройте инструкцию на шаге настройки «Трассировки» и сделайте все по шагам еще раз, только сделать это нужно для двху пользователей.

2. Проверить, что у пользователя под которым запущен сервер СУБД есть доступ на чтение и на запись в указанный каталог трассировки.
HighLoadПросмотр заблокированных строк в 1С#5 27.10.16 22:01
(4) starik-2005,
> Как я понял, обработка показывает текущие блокировки СУБД (MS SQL)
Да, именно так.

> уже завершившиеся блокировки 1С
Нет, показываются установленные но не завершившиеся блокировки 1С

> Для первого, в принципе, можно в менеджмент студио правой кнопкой на базе и в отчетах найти соответствующий отчет по блокировкам.

Если имеется ввиду отчет «Все блокирующие транзакции» то это не так. В отчете вы увидите только то, что одна транзакция блокирует другую. На какие строки наложена блокировка там не указано, на какой ресурс тоже не указано, даже тип блокировки не указан. На практике этот отчет почти бесполезен.
HighLoadПросмотр заблокированных строк в 1С#3 26.10.16 10:42
(1) WellMaster, обработка написана только под управляемое приложение. При запуске в обычном приложении будет описанная вами ошибка.
HighLoadПросмотр заблокированных строк в 1С#0 25.10.16 1:56
Ввиду своей деятельности, мне часто приходится рассказывать про различные аспекты оптимизации и в том числе про блокировки.
Очень часто слушатели задают следующие вопросы:
Как посмотреть в реальном времени, какие именно данные сейчас заблокированы?
Как понять, что сейчас заблокировано в терминах 1С?
Если гранулярность блокировки страница, как увидеть, какие данные в ней находятся?

Раньше приходилось отвечать, что инструмента, который показывает все вышеописанное, сейчас просто нет. Но потом мне это надоело, и я решил сделать собственный инструмент, который позволяет ответить на все вышеописанные вопросы.