Видео-кейс от Виктора Богачева. Как узнать, что делал зависший пользователь или фоновое задание 1С

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ต.ค. 2024

ความคิดเห็น • 11

  • @АртёмМорозов-ц3р
    @АртёмМорозов-ц3р 7 หลายเดือนก่อน

    Благодарю! Коротко и как всегда интересно

  • @ИгорьИ-з8и
    @ИгорьИ-з8и 6 ปีที่แล้ว +2

    Спасибо. Очень полезная информация!

  • @BeatByBit
    @BeatByBit 6 ปีที่แล้ว +1

    Спасибо!

  • @alexeibelousov3279
    @alexeibelousov3279 6 ปีที่แล้ว +4

    Конечно понимаю что лучше хотя бы эта инфа из тех. журнала чем ничего, но.. в реальной базе например у нас сотни!! внешних доп. отчетов, обработок, печатных форм и тд, а все встроенные отчеты - скд, и текст там меняется в зависимости от настроек.. то есть имея текст запроса с тех. журнала с вероятностью 90% нельзя будет ответить на вопрос "Какой отчет вызвал ошибку?". А еще бывают взаимоблокировки, которые 1С предлагает расследовать исключительно ЦУПом (если руководствоваться статьей на ИТС), но ЦУП неплохих денег стоит (100к), и решить одну конкретную проблему в каком то одном конкретном участке кода с помощью ЦУП это как микроскопом гвозди забивать, а альтернативы в 1С как обычно нет насколько я понимаю (

    • @АлександрМурашов-ь1с
      @АлександрМурашов-ь1с 6 ปีที่แล้ว

      Не очень понял в чем проблема расследовать проблему №2 по взаимоблокировкам. Они делятся на 2 варианта: СУБДшные и платформенные. СУБДшные расследуются с помощью профайлера deadlockgraph. настраиваем профайлер или extended events. платформенные - собираем техжурнал и юзаем инструменты bash - grep sed awk. Смотрите видео Виктора на тему инструментов, если тяжко с ЦУПом.
      В чем проблема с логированием в ТЖ внешних отчетов - нет контекстов или что, извиняюсь не очень понял.

    • @alexeibelousov3279
      @alexeibelousov3279 6 ปีที่แล้ว +1

      Александр Мурашов да, проблема в контексте, причем не только внешних отчетов, но и встроенных в конфу, там будет что нибудь типа ОбщийМодуль.СтандартныеПодсистемыСервер (на видео обратите внимание когда автор смотрит лог ТЖ видно общий модуль, а не конкретный отчет).. в общем единая точка выполнения (БСПшная) всех отчетов в фоновом режиме, от нее ни холодно, ни жарко.. от текста запроса так же не сильно много пользы, так как он изменяемый СКД, то есть точно такого же запроса который зафиксировался в ТЖ через поиск по модулям не найдешь, а с внешними отчетами так совсем беда, и поиска по их модулям даже нет (
      Вот если бы была возможность в ТЖ добавлять информацию о некоторых переменных контекста, тогда это помогло бы.
      По поводу ЦУПа, с ним не тяжко, тяжко с бюджетом в 100к что бы расследовать одну ошибку которая появляется раз в 3 месяца... на это 100к никто не хочет выделять, дешевле и проще получается ребутнуть агента сервера, хотя и не правильно конечно ( Ну и ТЖ включенным даже с фильтрами на боевом сервере с нагрузкой под 200 чел онлайн в течении тех же 3 месяцев пока вылезет дедлок то же не комильфо.. так и живем (

    • @NaghtRain
      @NaghtRain 6 ปีที่แล้ว

      Область Эксперта вообще не простая если на то пошло, т.е. делать все по какой-то за ранее созданной инструкции не получится. Вам дали пример, как использовать эти знания и где, решать вам

    • @alexeibelousov3279
      @alexeibelousov3279 6 ปีที่แล้ว

      Максим Аввакумов попробуйте применить на реальной практике, все сами поймете.. никто не просит инструкцию нажми сюда и будет хорошо, нет, я говорю о том что текущих инструментов не достаточно. Вы пользуясь ТЖ не ответите на вопрос "А в каком конкретно отчете произошла ошибка?"

    • @viktorbogachev6192
      @viktorbogachev6192 5 ปีที่แล้ว +2

      @@alexeibelousov3279 Конкретно для вашего случая используют дополнительное логирование настроек отчетов, например в регистр сведений. По ТЖ вы найдете проблемный запрос, стек вызова кода, время события, . А по сохраненным в регистре настройкам найдете, какие конкретно настройки отчета, обработки.

  • @tree-service
    @tree-service 6 ปีที่แล้ว +1

    это если мы тж собираем, а если мы тж не собираем и у нас все зависло, если мы включим тж, то мы уже не увидим это событие.или как-то можно всё-таки увидеть?

    • @viktorbogachev6192
      @viktorbogachev6192 5 ปีที่แล้ว

      Если запрос или вызов сервера завершился успешно, то увидите CALL, DBMSSQL/DBPOSTGRS, SDBL.
      А если выполняется, то можно срубить и увидеть в ТЖ события ECXP, EXCPCNTX, CALL + RetExcp, QERR
      Перед тем, как срубить, можно еще и посмотреть в sys.dm_exec_requests + sys.dm_exec_sql_text, что именно выполняется и кушает ресурсы конкретно на СУБД
      И потом сравнить с тем, что вывалится в ТЖ, чтобы свериться, что это тот самый запрос