Gilev.ru
определение пользователя выполняющего длительный запрос
Обсуждаем курсы различных учебных центров и наши в том числе
Сообщений: 5 • Страница 1 из 1
определение пользователя выполняющего длительный запрос
Biryuk Andrey » 30 сен 2013, 21:47
как не пользуясь средствами субд определить пользователя который выполняет на текущий момент длительный запрос: посмотреть в консоли администрирования, собрать данные техжурнала с событием запрос к субд, какие еще есть варианты?
Biryuk Andrey Сообщений: 28 Зарегистрирован: 01 авг 2013, 20:15
Re: определение пользователя выполняющего длительный запрос
Дмитрий Юхтимовский » 30 сен 2013, 22:57
в консоли сервера 1С посмотреть?
Дмитрий Юхтимовский Сообщений: 737 Зарегистрирован: 11 фев 2013, 19:28 Откуда: gilev.ru
Re: определение пользователя выполняющего длительный запрос
Гилёв Вячеслав » 30 сен 2013, 23:49
Biryuk Andrey писал(а): как не пользуясь средствами субд определить пользователя который выполняет на текущий момент длительный запрос: посмотреть в консоли администрирования, собрать данные техжурнала с событием запрос к субд, какие еще есть варианты?
не понятно, чем вызваны эти вопросы, конечно лучше бы понимать исходный контекст, но для «участия» скажу, можно логировать в апдекс или ЖР информацию начала запроса и завершения,
но если честно, зачем мучаться, если если для этого специально придуманы штатные средства (колонки «захвачено субд», «удерживается субд» в консоли сервера 1С:Предприятия)
Гилёв Вячеслав Сообщений: 2727 Зарегистрирован: 11 фев 2013, 15:40 Откуда: Россия, Москва
Re: определение пользователя выполняющего длительный запрос
Biryuk Andrey » 01 окт 2013, 19:18
Захвачено субд 1с что это
Заметил неприятный баг у консоли запросов в инструментах разработчика (все равно спасибо автору). Если выполнить любой запрос, то начинает расти показатель захвачено СУБД.
Вроде, как и объекты не блокируются, но принято считать, что показатель захвачено субд отражает кто из пользователей больше грузит сервак (админы по нему выгоняют пользователей, чтобы дали другим работать).
Вопрос в том, что показывает показатель «захвачено субд», как интерпритировать его значения.
Вообще-то он показывает длительность транзакции в секундах, но учитывая, что блокировки в течении транзакции накапливаются, то максимально длительная транзакция предположительно больше блокировок держит
(0) запросник вроде держит временную таблицу, по опыту никакой нагрузки это не оказывает
кстати такой баг можно использовать для просмотра плана запросов в профайлере в рабочей базе, т.к. в этом случае SPID не будет меняться и по нему можно указать фильтр
(3) возможно это не баг, а фича (удобняк же)
(0) Серьезно просаживало производительность.
Результат — запрет на использование не типовых консолей в боевых базах.
(5) все говорят, что происходит падение производительности, но за счет чего не могут объяснить. Понятно, если выполнение большего запроса, но если запрос выполнился и просто висит МВТ, то что на блокирует?
Какой ресурс забирает у сервера захвачено субд?
Пример, для моделирования
Процедура КнопкаВыполнитьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = новый МенеджерВременныхТаблиц;
Запрос.Текст =
«ВЫБРАТЬ ПЕРВЫЕ 1
| РеализацияТоваровУслуг.Ссылка
|ПОМЕСТИТЬ вт
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг»;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
КонецЦикла;
мвт = Запрос.МенеджерВременныхТаблиц;
КонецПроцедуры
(6) Полгода назад интересовался. v8: Посоветуйте консоль запросов.
Потом забил. Т.к. действительно редко нужно что-то отлаживать на боевой базе.
Длительность захвата соединения с базой данных текущим сеансом с момента захвата по текущий момент. Отображается только если соединение с СУБД захвачено сеансом.
http://its.1c.ru/db/v83doc#bookmark:cs:TI000000173
Само по себе соединение не оказывает влияния на производительность.
(8) что значит захват соединения? Будто у сервера 10 соединения, а я 1 забрал и один пользователь не сможет подключиться
Частые вопросы по производительности «1С:Документооборота»
Приведем ответы на частые вопросы, связанные с производительностью «1С:Документооборота».
Вопрос 1
Есть ли в «1С:Документообороте» оценка производительности?
В «1С:Документообороте» версии КОРП и ДГУ есть встроенная оценка производительности. Рекомендуется включить ее перед началом работы пользователей в программе: Настройка и администрирование — Настройка программы — Общие настройки — Выполнять замеры производительности.
После этого программа автоматически будет замерять время выполнения ключевых операций: создание документа, запуск процесса, открытие и создание файла, выполнение задачи и другие. Эталонное время ключевых операций приведено здесь. На основе полученных данных удобно вовремя обнаружить снижение производительности программы и провести первичный анализ.
Чтобы увидеть средние показатели за определенный период, выполните команду Время выполнения ключевых операций в меню раздела Настройка и администрирование.
Анализ и контроль производительности можно также вести по методике APDEX — команда Оценка производительности в меню раздела Настройка и администрирование.
Вопрос 2
С чего начать проверку при замедлении работы программы?
При замедлении работы программы рекомендуется проверить формат журнала регистрации. Также эту проверку рекомендуется проводить после обновления платформы «1С:Предприятия» на версию 8.3.7 или после создания информационной базы с нуля.
Если в каталоге 1Cv8Log есть файл 1Cv8.lgd, то нужно изменить формат журнала регистрации. Порядок замены:
- остановите сервер «1С:Предприятия»;
- удалите все файлы в каталоге 1Cv8Log. По умолчанию каталог расположен C:\Users\USR1CV8\AppData\Local\1C\1Cv82\reg_1541\;
- создайте в папке 1Cv8Log пустой файл 1Cv8.lgf;
- снова запустите сервер «1С:Предприятия».
Вопрос 3
Что делать, если у рядовых пользователей ключевые операции выполняются более 15 секунд? По прошествии этого времени операции выполняются без ошибок. При входе в программу под Администратором задержек нет. Все рекомендованные настройки СУБД и сервера «1С:Предприятие» выполнены.
Во-первых, проверьте версию конфигурации. Если установлена версия 1.4.xx, необходимо перейти на версию 2.0, куда включено много доработок по быстродействию.
Если проблема воспроизводится в 100% случаев:
- Запустите сервер «1С:Предприятия» с ключом debug. Обратите внимание: при этом работа сервера значительно замедлится, поэтому такой запуск рекомендуется проводить только в нерабочее время.
- В конфигураторе включите замер производительности.
- Выполните операцию под тем пользователем, у которого зафиксирована проблема.
- В замерах производительности посмотрите, на что ушло основное время;
- Сохраните замер в файл .pff и пришлите его на линию тех поддержки «Фирмы 1С».
Дополнительно к данным, которые запрашивает тех поддержка «Фирмы 1С», необходимо прислать подробное описание проблемной ситуации и информацию о том, типовая ли конфигурация или доработанная. Например, «16 марта 2016 года с 12:00 у пользователя Иванов И.И. карточка внутреннего документа открывается 30 секунд. Конфигурация на поддержке».
Если проблема воспроизводится не в 100% случаев:
- Настройте технологический журнал на сервере «1С:Предприятие» (скачать готовые настройки logcfg.xml).
Если технологический журнал уже настроен, то к уже имеющимся настройкам нужно добавить новые из скачанного файла. Файл logcfg.xml обычно распроложен тут: C:\Program Files (x86)\1cv8\conf (для 32-битного сервера «1С:Предприятие»); C:\Program Files\1cv8\conf (для 64-битного сервера «1С:Предприятие»). - Дождитесь повторного воспроизведения проблемы.
- Пришлите данные технологического журнала на линию тех поддержки «Фирмы 1С».
Дополнительно к запрашиваемым данным нужно подробно описать один! конкретный случай воспроизведения с точным временем: Например, «У пользователя Петров И.В. карточка внутреннего документа открывалась 30 секунд. Время: 16 марта 2016 г. в 14:45:50.
Вопрос 4
Что делать, если зафиксированы периодические замедления работы, например, раз в минуту?
Проверьте версию конфигурации. Если это версия 2.0.9 — 2.0.13 включительно, то обновитесь на более свежую или отключите автоматическую проверку контрагентов по ЕГРН (Настройка и администрирование — Настройки программы — Контрагенты — Автоматически проверять контрагентов по ЕГРН).
Вопрос 5
Что делать, если операция длится более 20 секунд, после чего выдает ошибку «Превышено максимальное время ожидания предоставления блокировки»? Как правило, ошибка проявляется у всех пользователей.
- В консоли администратора откройте список Сеансы. Установите сортировку по колонке Захвачено СУБД.
- Самый большой показатель будет на первом месте. Если он превышает значение 20 секунд, запишите номер сеанса из соответствующей колонки. Это понадобится для дальнейшего анализа.
- Отключите проблемный сеанс с помощью команды контекстного меню Del.
- Найдите в журнале регистрации первую запись, соответствующую этому сеансу. Если это регламентное задание, запишите его название. Оно потребуется для отправки на линию технической поддержки при регулярном воспроизведении проблемы.
Если проблема регулярно повторяется выполните следующие действия:
- Настройте технологический журнал на сервере «1С:Предприятие» (скачать готовые настройки logcfg.xml).
Если технологический журнал уже настроен, то к уже имеющимся настройкам нужно добавить новые из скачанного файла. Файл logcfg.xml обычно распроложен тут: C:\Program Files (x86)\1cv8\conf (для 32-битного сервера «1С:Предприятие»); C:\Program Files\1cv8\conf (для 64-битного сервера «1С:Предприятие»). - Дождитесь повторного воспроизведения проблемы.
- Пришлите данные технологического журнала на линию тех поддержки «Фирмы 1С».
Дополнительно к запрашиваемым данным нужно собрать данные на момент ошибки и за час до нее, подробно описать один конкретный пример ошибки с точным временем его воспроизведения. Например, «Пользователю Смирнову П.Р. не удается записать карточку внутреннего документа. 22 апреля, в 11:25:40».
Захвачено субд 1с что это
Во вложениях картинки моего сеанса с пустой консолью и картинка консоли сервера 1С Предприятия.
Что-то там на что-то влияет.
В общем, подобное поведение внешнего инструмента разработчика однозначно мешает работе наших пользователей
Прикрепления: 3696526.jpg (139.7 Kb)
Группа: Пользователи
Сообщений: 7
Статус: Оффлайн
Добавлено (05.04.2019, 09:55)
———————————————
На картинке с консолью сервера видно мой вчерашний второй сеанс и видно, что он ничего не захватил.
Прикрепления: 6728978.jpg (115.3 Kb)
Генералиссимус
Группа: Администраторы
Сообщений: 5822
Статус: Оффлайн
Генералиссимус
Группа: Администраторы
Сообщений: 5822
Статус: Оффлайн
Прикрепления: 4400105.png (8.8 Kb)
Генералиссимус
Группа: Администраторы
Сообщений: 5822
Статус: Оффлайн
Генералиссимус
Группа: Администраторы
Сообщений: 5822
Статус: Оффлайн
Генералиссимус
Группа: Администраторы
Сообщений: 5822
Статус: Оффлайн
Цитата
в базе есть сеанс, в котором открыта обычная форма (например консоль запросов), удерживающая в себе объект МенеджерВременныхТаблиц. Для
такого сеанса показатель «Захвачено СУБД» будет расти до тех пор, пока
объект не будет уничтожен (например путем закрытия формы). При этом
содержимое менеджера временных таблиц контролируется прикладным кодом и
пользователем, т.е. нет бесконтрольного роста количества и размера
временных таблиц в нем. В среднем в этом менеджере временных таблиц
находится малый объем данных. Объект может жить целый рабочий день.
Будет ли в таком случае какое то негативное влияние на
производительность СУБД и каков его механизм?
Цитата
Негативного влияния на производительность в описанном случае быть не должно.
Генералиссимус
Группа: Администраторы
Сообщений: 5822
Статус: Оффлайн
Цитата
Имеем базу, в которой работают 50 пользователей и периодически проводят 5 видов документов. В коде проведения этих документов создаются
и сразу уничтожаются разные по составу колонок временные таблицы.
Пользователь открыл толстую форму. Она создала постоянный менеджер
временных таблиц на клиенте.
Случай 1. Пользователь выполнил создание в нем простейшей пустой
временной таблицы, т.е. имеем постоянное удержание временной таблицы и
соответственно соединения с СУБД. Далее пользователь в том же сеансе
открывает другую форму и запускает в ней недолгое перепроведение тех же
типов документов (для ясности без явной транзакции. Таким образом в
удерживаемом постоянно соединении с СУБД образуется и удерживается набор
пустых временных таблиц всех используемых при проведении составов
колонок временных таблиц.
Цитата
Работа соединения с SQL-сервером замедляется, если в этом соединении создаются и удаляются многочисленные временные таблицы. Чтобы
производительность 1С:Предприятия из-за этого не снижалась,
предусмотрено обновление соединений с SQL-сервером с течением времени. В
описанный сценарий препятствует обновлению, и это приводит к снижению
производительности. Длительное удерживание менеджеров временных таблиц
не рекомендуется.