Появились проблемы у пользователей связанных с отгрузкой продукции.
У этих людей могут возникать сильные тормоза при работе.
Такое случается не каждый день, происходит где то два раза в сутки и прогнозированию не поддается.
Для поиска проблемы была использована настройка технологического журнала - см. вложение
Лог просматривал с помощью программы - см. вложение
Фрагмент лога за нужный период так же есть во вложении
Если в нормальном режиме при работе генерируется последовательность из событий Context и SDBL, то во время торможения у клиента генерируется массив из повторяющихся SDBL.
Причем даже если клиент простаивает - SDBL все равно генерируются (как бы залипает). Должна быть пауза в логе - а там идет цепь из SDBL.
В результате процессоры сервера загружены на 30-40 процентов и если другие пользователи ничего не замечают, проблемный пользователь начинает капитально тормозить.
Я нашел очень не оптимальный метод лечения.
Если в диспетчере сервера 1С удалить проблемный сеанс - все прекращается.
Повторный вход и работа не приводят к проблеме.
Все описанное хорошо видно в логах (см вложения)
Проблемы были у
пользователя (Usr) Горбунова Любовь
компьютер (t:computerName) exp
Все сказанное наглядно видно по времени начиная с 6.04 (21.11.18) и до 7.15.34 (после чего сеанс был удален)
При повторном вхождении - все нормализовалось. Что хорошо видно в логах.
Буду рад любой помощи в диагностировании проблемы.
Сильно подозреваю, что настройку технологического журнала можно изменить для получения более детальной/углубленной информации.
Вот только в голову не приходит что и как.
1) Например, что бы уменьшить количество мусора - не плохо бы ограничить сбор информации всего двумя компьютерами. Но как это сделать?
Для одной машины: <eq property="t:computerName" value="exp"/>
А если надо exp и exp2?
2) Как бы детализировать SDBL или что прописать - чтобы узнать из за чего залипает процесс SDBL. Почему генерируется постоянная последовательность из этого события?
У этих людей могут возникать сильные тормоза при работе.
Такое случается не каждый день, происходит где то два раза в сутки и прогнозированию не поддается.
Для поиска проблемы была использована настройка технологического журнала - см. вложение
Лог просматривал с помощью программы - см. вложение
Фрагмент лога за нужный период так же есть во вложении
Если в нормальном режиме при работе генерируется последовательность из событий Context и SDBL, то во время торможения у клиента генерируется массив из повторяющихся SDBL.
Причем даже если клиент простаивает - SDBL все равно генерируются (как бы залипает). Должна быть пауза в логе - а там идет цепь из SDBL.
В результате процессоры сервера загружены на 30-40 процентов и если другие пользователи ничего не замечают, проблемный пользователь начинает капитально тормозить.
Я нашел очень не оптимальный метод лечения.
Если в диспетчере сервера 1С удалить проблемный сеанс - все прекращается.
Повторный вход и работа не приводят к проблеме.
Все описанное хорошо видно в логах (см вложения)
Проблемы были у
пользователя (Usr) Горбунова Любовь
компьютер (t:computerName) exp
Все сказанное наглядно видно по времени начиная с 6.04 (21.11.18) и до 7.15.34 (после чего сеанс был удален)
При повторном вхождении - все нормализовалось. Что хорошо видно в логах.
Буду рад любой помощи в диагностировании проблемы.
Сильно подозреваю, что настройку технологического журнала можно изменить для получения более детальной/углубленной информации.
Вот только в голову не приходит что и как.
1) Например, что бы уменьшить количество мусора - не плохо бы ограничить сбор информации всего двумя компьютерами. Но как это сделать?
Для одной машины: <eq property="t:computerName" value="exp"/>
А если надо exp и exp2?
2) Как бы детализировать SDBL или что прописать - чтобы узнать из за чего залипает процесс SDBL. Почему генерируется постоянная последовательность из этого события?
Прикрепленные файлы:
logcfg.xml
TechLog1C.exe
TJLogs.zip
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
ВнешнийОтчет.
Пропуск это действительно внешняя обработка и запускается ручками после создания документа "заказ по маршруту"
Но чтобы до этого пропуска дойти надо с тормозами (если не повезло) заполнить заказ...
Да и вообще. Он отработал свое - сформировал пропуск и закончил свою работу.
Нет. Пропуск здесь не причем.
Там вроде и в контексте есть упоминание про действия перед транзакциями в context.
ВнешнийОтчет.Пропуск
ВнешняяОбработка ещё упоминается.
Нужно смотреть, что же вообще начинает эти транзакции.
ВнешнийОтчет.Пропуск
ВнешняяОбработка ещё упоминается.
Нужно смотреть, что же вообще начинает эти транзакции.
ВнешнийОтчет.
Пропуск это действительно внешняя обработка и запускается ручками после создания документа "заказ по маршруту"
Но чтобы до этого пропуска дойти надо с тормозами (если не повезло) заполнить заказ...
Да и вообще. Он отработал свое - сформировал пропуск и закончил свою работу.
Нет. Пропуск здесь не причем.
Пользователь заносил информацию а так же простаивал.
SDBL генерировались даже в простое.
Когда все нормально мы в журнале во время занесения информации видим последовательность Context и SDBL. Ну и ничего не видим если простой.
Когда плохо - Context и SDBL последовательность тоже будет - куда же без нее.
Но так же видим огромное количество SDBL, которые создаются даже в простое.
Посмотрел журнал регистрации.
Никаких ошибок не зафиксировано.
Единственное - сейчас посмотрю - сколько операций/транзакций ушло на документ
SDBL генерировались даже в простое.
Когда все нормально мы в журнале во время занесения информации видим последовательность Context и SDBL. Ну и ничего не видим если простой.
Когда плохо - Context и SDBL последовательность тоже будет - куда же без нее.
Но так же видим огромное количество SDBL, которые создаются даже в простое.
Посмотрел журнал регистрации.
Никаких ошибок не зафиксировано.
Единственное - сейчас посмотрю - сколько операций/транзакций ушло на документ
(5)
Но если тормоза происходят, то значит что-то происходит. В этот момент нужно отловить процесс, который генерирует "тормоза". В консоли кластера посмотреть соединение к базе данных, может быть посмотреть на сервере СУБД, какие запросы выполняются с отбором по конкретному соединению. Это и будут те самые sdbl, и потом догадываться, откуда же запросы летят в СУБД.
Ещё вариант - поставить КИП с ЦУПом. Там анализ в более понятной форме будет. Но он денег стоит.. Для большой организации хороший и нужный инструмент, чтобы заранее отлавливать проблемы...
Но если тормоза происходят, то значит что-то происходит. В этот момент нужно отловить процесс, который генерирует "тормоза". В консоли кластера посмотреть соединение к базе данных, может быть посмотреть на сервере СУБД, какие запросы выполняются с отбором по конкретному соединению. Это и будут те самые sdbl, и потом догадываться, откуда же запросы летят в СУБД.
Ещё вариант - поставить КИП с ЦУПом. Там анализ в более понятной форме будет. Но он денег стоит.. Для большой организации хороший и нужный инструмент, чтобы заранее отлавливать проблемы...
(7)
Логично :)
В общем решил поменять настройку для вывода технологического журнала.
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="E:\TJLogs\" history="8">
<event>
<ne property="name" value=""/>
<eq property="t:computerName" value="exp"/>
<gt property="duration" value="2"/>
</event>
<property name="all"/>
</log>
</config>
Выводится все по указанной машине. Информация вполне подробная.
Плохо только, что компьютеров на задаче три. И какой из них подвиснет - лотерея.
А запускать журнал по факту подвисания... Вдруг что то упущу? Что то, что провоцирует сбой.
Я сейчас использую указанную выше настройку журнала и надеюсь что угадал с машиной.
Но, можно было бы указать в настройке - сбор информации с двух машин.
что то типа <eq property="t:computerName" value="exp and exp2"/>
Так же в момент подвисания я находился в студии и запускал монитор активности.
Зафиксировал два запроса, которые просто неимоверно пожирали ресурсы (наверное из за повторов?)
Запросы во вложении.
Но как эту информацию интерпретировать? Что там не то?
Ну обращается sql к двум документам и что дальше? Что там не так?
Вопрос.
Понимаю, что пляски с бубном, но когда ничего не получается - хватаешься за любую возможность.
Есть вероятность, что поможет реорганизация и переиндексация базы?
Понимаю, что эти вещи используются при явных ошибках, но может быть есть смысл сделать?
Но если тормоза происходят, то значит что-то происходит. В этот момент нужно отловить процесс, который генерирует "тормоза". ... может быть посмотреть на сервере СУБД, какие запросы выполняются с отбором по конкретному соединению
Логично :)
В общем решил поменять настройку для вывода технологического журнала.
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="E:\TJLogs\" history="8">
<event>
<ne property="name" value=""/>
<eq property="t:computerName" value="exp"/>
<gt property="duration" value="2"/>
</event>
<property name="all"/>
</log>
</config>
Выводится все по указанной машине. Информация вполне подробная.
Плохо только, что компьютеров на задаче три. И какой из них подвиснет - лотерея.
А запускать журнал по факту подвисания... Вдруг что то упущу? Что то, что провоцирует сбой.
Я сейчас использую указанную выше настройку журнала и надеюсь что угадал с машиной.
Но, можно было бы указать в настройке - сбор информации с двух машин.
что то типа <eq property="t:computerName" value="exp and exp2"/>
Так же в момент подвисания я находился в студии и запускал монитор активности.
Зафиксировал два запроса, которые просто неимоверно пожирали ресурсы (наверное из за повторов?)
Запросы во вложении.
Но как эту информацию интерпретировать? Что там не то?
Ну обращается sql к двум документам и что дальше? Что там не так?
Вопрос.
Понимаю, что пляски с бубном, но когда ничего не получается - хватаешься за любую возможность.
Есть вероятность, что поможет реорганизация и переиндексация базы?
Понимаю, что эти вещи используются при явных ошибках, но может быть есть смысл сделать?
Прикрепленные файлы:
SQLQuery8.txt
SQLQuery10.txt
С регламентом все в порядке. Выполняется в полном объеме. Даже чуть больше.
Обычно не упоминается очистка tempdb. А я и ее выполняю.
dt - попробую выгрузить и загрузить.
Я когда плясал с бубном - перешел с платформы 8.3.10.2667 на 8.3.12.1714. Стало только хуже. Случаи торможения участились.
Проработал неделю - потом возвратился обратно.. на 8.3.10.
В момент возврата я еще восстановил одну из многопользовательских лицензий, которая слетела по непонятным причинам (одна работает, а другая слетела). Причем восстановил по активированному пин коду. ???
Пятницу вечером и всю субботу тормозов не было.
Подумал, что помог бубен.
Но нет.
В воскресенье вечером и сегодня утром тормоза опять наблюдались..
Обычно не упоминается очистка tempdb. А я и ее выполняю.
dt - попробую выгрузить и загрузить.
Я когда плясал с бубном - перешел с платформы 8.3.10.2667 на 8.3.12.1714. Стало только хуже. Случаи торможения участились.
Проработал неделю - потом возвратился обратно.. на 8.3.10.
В момент возврата я еще восстановил одну из многопользовательских лицензий, которая слетела по непонятным причинам (одна работает, а другая слетела). Причем восстановил по активированному пин коду. ???
Пятницу вечером и всю субботу тормозов не было.
Подумал, что помог бубен.
Но нет.
В воскресенье вечером и сегодня утром тормоза опять наблюдались..
Ежедневный план
Проверка целостности БД - Перестроение индекса - Обновление статистики - Выполнение инструкций (DBCC FREEPROCCACHE) - резервное копирование - очистка мусора - Выполнение инструкций (USE "milk"
ALT ER DATABASE "milk" SET RECOVERY SIMPLE
DBCC SHRINKFILE (N'milk_log' , 0, TRUNCATEONLY);
ALT ER DATABASE "milk" SET RECOVERY FULL) - выполнение инструкций (DBCC SHRINKDATABASE (TEMPDB))
Еженедельный план (раз в неделю)
Проверка целосности БД - Обновление статистики - выполнение инструкций - (DBCC FREEPROCCACHE) - резервное копирование - очистка от мусора.
Проверка целостности БД - Перестроение индекса - Обновление статистики - Выполнение инструкций (DBCC FREEPROCCACHE) - резервное копирование - очистка мусора - Выполнение инструкций (USE "milk"
ALT ER DATABASE "milk" SET RECOVERY SIMPLE
DBCC SHRINKFILE (N'milk_log' , 0, TRUNCATEONLY);
ALT ER DATABASE "milk" SET RECOVERY FULL) - выполнение инструкций (DBCC SHRINKDATABASE (TEMPDB))
Еженедельный план (раз в неделю)
Проверка целосности БД - Обновление статистики - выполнение инструкций - (DBCC FREEPROCCACHE) - резервное копирование - очистка от мусора.
Похоже удалось найти в чем была проблема.
Я угадал с выбором компьютера, и в момент тормозов писался подробный тех журнал по тормозящей машине.
И была выделена повторяющаяся/зацикленная последовательность событий.
Ее я перенес в doc во вложении.
Желтым выделено то что менялось на каждом шаге цикла...
Похоже по счетчику шестнадцатеричное значение в DBMSSQL и SDBL увеличивалось до какого то значения, а потом начиналось заново.
Я переслал этот документ человеку, который нас сопровождает и тот вынес диагноз.
Идет обращение к ветеринарным свидетельствам (которые сейчас не используются).
В общем - человек зарэмил где надо.
Так что буду смотреть.
В случае удачи - сообщу.
Я угадал с выбором компьютера, и в момент тормозов писался подробный тех журнал по тормозящей машине.
И была выделена повторяющаяся/зацикленная последовательность событий.
Ее я перенес в doc во вложении.
Желтым выделено то что менялось на каждом шаге цикла...
Похоже по счетчику шестнадцатеричное значение в DBMSSQL и SDBL увеличивалось до какого то значения, а потом начиналось заново.
Я переслал этот документ человеку, который нас сопровождает и тот вынес диагноз.
Идет обращение к ветеринарным свидетельствам (которые сейчас не используются).
В общем - человек зарэмил где надо.
Так что буду смотреть.
В случае удачи - сообщу.
Прикрепленные файлы:
последовательность.doc
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот