Ускорение типовой 1С

09.12.19

База данных - Журнал регистрации

Упрощаем журнал регистрации.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Ускорение типовой 1С:
.epf 6,88Kb
6
6 Скачать (5 SM) Купить за 3 050 руб.

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

Потому что нагруженная система не может зависеть от последовательной записи в текстовый файл. Потому что записи журнала регистрации не информативны. Например, при изменении цен в журнал регистрации для каждой строки регистра добавляется запись. 

Другие компании тоже отключают подробный журнал регистрации.

У нас порядка 200 пользователей, отключение журнала улучшило глобальный APDEX на 10%. Это самое заметное изменение с начала наблюдений. 

Что же нужно сделать прежде, чем зайти темной ночью в конфигуратор и нажать Администрирование – Настройка журнала регистрации ?


Чтобы сохранять информацию о записи - сделаем подписки при записи

  • ПриЗаписиРегистрСведенийНаборЗаписейВместоЖурналаРегистрации()
  • ПриЗаписиСправочникаВместоЖурналаРегистрации()
  • ПриЗаписиДокументаВместоЖурналаРегистрации()

Запись в СУБД происходит гораздо быстрее, чем в журнал. Тексты процедур прилагаются в модуле обработки, их нужно копировать в общий модуль вашей программы, создать подписки.

Для исключения отдельных объектов из мониторинга, применяем функцию "ИсключаемыеОбъекты()". Ее можно поместить в тот же общий модуль вашей программы, или повторно-используемый модуль, если вы будете делать в функции запрос к данным.

Список исключаемых объектов обязательно должен содержать некоторые системные объекты. Кроме этого, можно исключить регистры, которые изменяются документами и регистры, которые заполняются автоматически. Их удобно находить по большому количеству записей, пример в модуле формы обработки, процедура ПриСозданииНаСервере(), смотрите в отладчике.

В программе должны быть включены замеры времени (APDEX, БСП). Все фрагменты кода тестированы на УТ 11.4.9.82, платформа 8.3.12.1714. Ответственность автора не превышает 4 SM. Техподдержка в комментариях.

отключить журнал регистрации

См. также

Журнал регистрации Системный администратор Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

История изменений реквизитов и табличных частей справочников, документов, независимых регистров сведений, возможность отката изменения, восстановление удаленных объектов, сбор статистики использования базы 1С. Альтернативный журнал регистрации.

22800 руб.

22.02.2018    36125    60    54    

57

Журнал регистрации Системный администратор Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

6000 руб.

28.11.2018    21533    19    7    

44

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

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

9000 руб.

28.08.2019    35348    29    21    

78

Журнал регистрации Программист Россия Бесплатно (free)

В материале рассматривается сравнение двух инструментов для работы с журналом регистрации 1С: утилиты ibcmd и платформы Vector. Описаны их функциональные возможности, тестирование производительности и практическое применение для преобразования логов в формат JSON.

20.11.2024    2295    user1913000    13    

20

Журнал регистрации Тестирование QA Программист Бесплатно (free)

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

21.10.2024    4346    leemuar    8    

24

Инструменты администратора БД Журнал регистрации Системный администратор Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Внешняя обработка для регламентного сокращения журнала регистрации для конфигураций на базе БСП и платформы 8.3.20+

1 стартмани

29.12.2023    2768    44    dima_gsv    3    

14

Журнал регистрации Мониторинг Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

19.11.2023    1945    6    AlexSTAL    0    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sapervodichka 6957 09.12.19 10:16 Сейчас в теме
А если отключить сбор данных APDEX в программе глобальный APDEX это улучшит?
dabu-dabu; acanta; +2 Ответить
4. vtv74 51 09.12.19 11:21 Сейчас в теме
(1) Здравствуйте !

APDEX собираем на сервере СУБД, где запись сильно оптимизирована, а журнал регистрации - на сервере приложений, последовательно в текстовый файл.

Поэтому разница огромная.

При отключении APDEX вау-эффекта не было.
5. sapervodichka 6957 09.12.19 12:58 Сейчас в теме
(4) Пару лет уже не видел текстовые файлы журналов регистрации, вы уверены что они текстовые?
7. vtv74 51 09.12.19 14:43 Сейчас в теме
(5) В приведенном примере Билайн формат файла старый, то есть текстовый. У нас встречаются оба варианта.
21. sapervodichka 6957 09.12.19 22:14 Сейчас в теме
(7) Какую-то картошку с макаронами пытаетесь подсунуть =) Не знаю кто это творение будет применять... если кто-то будет, то "Азамат, где логика?" напишите зачем это придумали ))) В примере Билайн?! Ну конечно а я то думал Теле2
27. vtv74 51 10.12.19 08:05 Сейчас в теме
(21) Зря Вы становитесь на темную сторону, Дмитрий !
Журнал регистрации must die.
Нормальные пацаны его не используют.
Вместо того, чтобы троллить бедную девочку
Лучше поделитесь своим опытом, как Вы делаете

??
29. nomad_irk 81 10.12.19 08:17 Сейчас в теме
(27)И давно нормальные пацаны перестали использовать ЖР?
dabu-dabu; sapervodichka; +2 Ответить
31. vtv74 51 10.12.19 08:30 Сейчас в теме
(29) Думаете, в системах 500+ пользователей кто-то использует полный журнал регистрации ? Серьезно ?
34. nomad_irk 81 10.12.19 08:50 Сейчас в теме
(31)Вполне.
Прикрепленные файлы:
35. vtv74 51 10.12.19 08:58 Сейчас в теме
(34) Внушительно, но еще не 500+
36. nomad_irk 81 10.12.19 09:00 Сейчас в теме
(35)Так и файлы ЖР не видны среди таких, в которые запись происходит с какой-то большой скоростью.
37. vtv74 51 10.12.19 09:14 Сейчас в теме
(36)
1. Конфигурация сильно отличается от типовой ?
2. Насколько вырастает ЖР за день ?
38. nomad_irk 81 10.12.19 09:25 Сейчас в теме
(37)1. Сильно.
Прикрепленные файлы:
sapervodichka; +1 Ответить
39. vtv74 51 10.12.19 09:34 Сейчас в теме
(38) У нас был такой же объем журнала. То, что в него не происходит запись - не показатель. Кеш диска занят, оперативная память тоже. Попробуйте сделать ЖР менее подробным. Благодарить потом будете. (Но будет поздно.)
40. nomad_irk 81 10.12.19 09:37 Сейчас в теме
(39)Так может все же разобраться с причинами занятости кэша диска и оперативной памяти, прежде чем городить вот это все, не?
У нас нет необходимости снижать уровень детализации ЖР, во всяком случае пока.
41. vtv74 51 10.12.19 09:48 Сейчас в теме
(40) если нет проблем с быстродействием, то ничего не нужно, это правда.
2. nomad_irk 81 09.12.19 10:48 Сейчас в теме
(0)Из публикации абслютно не понятно, какие еще действия административного характера были произведены прежде, чем прибегнуть к кардинальным мерам, т.е. снижению уровня детализации ЖР.
dabu-dabu; ixijixi; t278; sapervodichka; +4 Ответить
3. vtv74 51 09.12.19 11:17 Сейчас в теме
(2) Здравствуйте !

Действий административного характера нам не потребовалось: наши пользователи не смотрят в журнал. События регистрируются также полно, как и раньше но теперь в регистре. Можно делать отчеты.
6. sapervodichka 6957 09.12.19 14:06 Сейчас в теме
Вячеслав Гилёв (>_<) /* наверное нервно закурил в сторонке, подумывая: "А не открыть ли часом бьюти блог на youtube?!"
dabu-dabu; ixijixi; acanta; nomad_irk; +4 Ответить
8. acanta 09.12.19 14:44 Сейчас в теме
10. vtv74 51 09.12.19 14:59 Сейчас в теме
(8) Здравствуйте, Анна !

это видео про технологический журнал, а не про журнал регистрации ?
14. acanta 09.12.19 15:26 Сейчас в теме
(10) мы никогда не включаем подробнее чем 3 уровень детализации, обычно 2. При необходимости включается технологический журнал как в видео.
9. vtv74 51 09.12.19 14:46 Сейчас в теме
(6) Кстати, в Вашей фирме наверное давно отказались от подробного журнала регистрации ?
11. leemuar 23 09.12.19 15:07 Сейчас в теме
В целом направление, конечно, правильное: не нужно логировать ненужную информацию, логирование не должно ощутимо замедлять работу системы.

Обратите внимание, что запись в регистр имеет свои недостатки, о которых я рассказывал в докладе "Логирование в приложениях" на Инфостарт 2018:

- у вас растет таблица регистра, а это влияет на время резервного копирования и восстановления, размер бекапов. При большом объеме логов - существенно.
- в отличие от журнала регистрации, с регистром вы не можете записывать ошибки в транзакции. Вы не увидите в регистре запись, если ошибка произошла в транзакции. ПриЗаписи выполняется в транзакции.


Еще одним решением проблемы может быть вынесение жернала регистрации на отдельный сервер. Но такой вариант емнип очень дорог в реализации из-за лицензирования и необходимости администрирования лишних вычмощностей, поэтому зачастую не применяется
12. nomad_irk 81 09.12.19 15:11 Сейчас в теме
(11)ИМХО, оптимальный способ: выгружать ЖР во внешнюю БД и выполнять усечение оперативного ЖР. Размер оперативного ЖР - 3-5-7 дней - этого вполне достаточно для анализа.
Ну и выделение под ЖР отдельного физического диска - это вообще первое, что необходимо сделать.
16. vtv74 51 09.12.19 15:46 Сейчас в теме
(12) У нас проблемы были не из-за места, а из-за замедления записи на сервере приложений.
46. DonAlPatino 169 13.12.19 12:45 Сейчас в теме
(16) SSD под текущие журналы, а остальное в архив?
45. DonAlPatino 169 13.12.19 12:44 Сейчас в теме
(12) В ELK, в ELK грузите! Сложнейшая загрузка журнала регистрации в ElasticSearch
PS
Сейчас придет comol и предложит ClickHouse c Grafana:-)
15. vtv74 51 09.12.19 15:45 Сейчас в теме
(11) Здравствуйте !

- в отличие от журнала регистрации, с регистром вы не можете записывать ошибки в транзакции. Вы не увидите в регистре запись, если ошибка произошла в транзакции. ПриЗаписи выполняется в транзакции.


Спасибо за уточнение. Нужно иметь ввиду, что журнал регистрации тоже неполный: в технологическом журнале регистрируется больше ошибок.
13. leemuar 23 09.12.19 15:11 Сейчас в теме
> Запись в СУБД происходит гораздо быстрее, чем в журнал

На сколько быстрее? Вы проводили замеры на сколько именно? И с чем это связано?
Например, СУБД может работать на быстрых дисках, а журнал регистрации размещен на обычных дисках, в разделе ОС с постоянными очередями к диску.
dabu-dabu; ixijixi; Ганс; collider; +4 Ответить
17. vtv74 51 09.12.19 15:49 Сейчас в теме
(13) Замеры не производили.
18. milanse 40 09.12.19 18:09 Сейчас в теме
(13) Тоже с трудом верится в такие чудеса, если только на сервере 1С совсем уж убогая дисковая подсистема, но тогда решением было бы перенос папок на более быстрый диск.

Сам использую ЖР в текстовом виде, потом выгружаю его в отдельную базу, при загрузке откидываю лишнее.
19. vtv74 51 09.12.19 19:02 Сейчас в теме
(18) Здравствуйте !

Мы не проводили замеры скорости диска, но APDEX заметно изменился.

Система не убогая, скорее наоборот: породистое СХД.

За день журнал вырастал до 1 Гб. Это сопоставимо с ростом основной базы.

У вас сколько пользователей ? На сколько растет журнал ? Попробуйте отключить ?
22. milanse 40 09.12.19 23:05 Сейчас в теме
(19) пользователей порядка 200, журналы тоже могут быть по гигу и более. У меня было много логов в файлы, их передали на логи в жр, тут скорость возросла. Но чтобы жр переделать на регистр не задумывались. Я правильно понимаю что у вас жр старого формата, не sqlite ? Может есть какие особенности конфы / релиза 1с . ? Я точно знаю что в нашей конфе есть приличный запас по оптимизации кода , поэтому переделывать жр пока нет времени. Но по возможности обязательно попробую
47. DonAlPatino 169 13.12.19 12:47 Сейчас в теме
(19) "породистое СХД" к сожаление не отменяет "убогости". И чем выше "породистость", тем более высокая квалификация администраторов требуется, чтобы все это быстро работало..
20. handscenter 69 09.12.19 20:28 Сейчас в теме
В использовании ЖР главная проблема не запись, а чтение. Если кто то попробует сделать какой то отбор( особенно с динамически) по ЖР с большим количеством записей. То это приводит к "зависанию" работы всех пользователей до завершения такого отбора.
Не верите? :)
WellMaster; triviumfan; +2 Ответить
23. triviumfan 99 10.12.19 01:23 Сейчас в теме
(20) Верим, уже пробовали.
26. vtv74 51 10.12.19 08:00 Сейчас в теме
(20) Здравствуйте !

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

Кстати, похожий отчет можно сделать по регистру сведений "Версионирование..".
Он менее подробный, зато можно получать объекты.
24. triviumfan 99 10.12.19 01:23 Сейчас в теме
Я бы сменил заголовок, он путает. Или это для кликабельности?!
25. vtv74 51 10.12.19 07:56 Сейчас в теме
(24) Здравствуйте !

В статье описывается способ ускорить типовую конфигурацию без изменений.

Что бы Вы изменили ?
28. nomad_irk 81 10.12.19 08:11 Сейчас в теме
(25)
В статье описывается способ ускорить типовую конфигурацию без изменений.

Да ладно? А процедуры общих модулей святым духом в конфигурацию попадут, как и подписки на события их использующие?
sapervodichka; +1 Ответить
30. vtv74 51 10.12.19 08:27 Сейчас в теме
(28) Это не изменение, а дополнение конфигурации. Почувствуйте разницу.
32. nomad_irk 81 10.12.19 08:33 Сейчас в теме
(30) Для работы дополнения необходимо включать возможность изменения конфигурации. Это во-первых.
Во-вторых: для того, чтобы вообще работало дополнение конфигурации, сама конфигурация должна быть в режиме совместимости не меньше чем, 8.3.чего-то там.
sapervodichka; +1 Ответить
33. vtv74 51 10.12.19 08:44 Сейчас в теме
(32) Включить возможность изменений и добавить объект это не то же самое,
что изменить типовой объект.

Пожалуйста, не путайте механизм расширения конфигурации
с объектами, которые конфигурацию дополняют.
42. mikele_bes 8 10.12.19 10:11 Сейчас в теме
Не согласен с позицией автора.
1. Журнал регистрации полезен, он содержит данные об авторизации, отказе в доступе к метаданным, ошибки, информацию об изменении данных. Часто пишу в него дополнительную информацию. Имхо, единственное, что стоило бы отключить (если бы это было возможно) - это данные об изменении регистров, как раз они абсолютно неинформативны и отбирают много места.
2. Журнал работает очень быстро. Его надо поместить на ssd отдельно от баз SQL и tempdb.
3. Как уже правильно заметили, запись в регистр не сможет содержать данные отмененных транзакций, вряд ли будет быстрее записи в журнал регистрации.

Я использую журнал регистрации, ночью данные фильтруются и переносятся во внешнюю базу. Журнал режется до нескольких недель.
43. vtv74 51 10.12.19 10:47 Сейчас в теме
(42) Здравствуйте !

Не буду с вами спорить: если Вы всем довольны - значит, вы правы.

Уже упоминали, что в журнал регистрации не попадают многие ошибки, которые есть в технологическом журнале.
44. mikele_bes 8 10.12.19 11:49 Сейчас в теме
Я не писал, что не использую технологический журнал. Использую.
Одно другому не мешает, а дополняет.
48. VKislitsin 1026 22.12.19 15:15 Сейчас в теме
Мария, я поставил плюс. Но вынужден не согласиться :) Особенно с формулировкой на картинке.
Зачастую ЖР - единственный источник информации для расследования вопросов вида "а кто это сделал?"
И заранее предвидеть какой будет вопрос и когда он возникнет, невозможно. Поэтому хранить нужно всю доступную информацию.
В комментариях приводились скриншоты с неким, достаточно большим количеством пользователей. Я не могу привести скриншоты, могу лишь бездоказательно сообщить что в некоторых из "моих" систем, работает больше 1000 пользователей (одновременно). ЖР собирается полный. В "старом" формате. Регулярно архивируется (непосредственно из базы доступны последние 2 недели) и хранится не менее 3 лет, согласно регламенту.
Возможно, для кого-то Ваше предложение имеет практический смысл. Спасибо что продемонстрировали числовой эффект в процентах от такого решения. Излишним я считаю лишь категоричность утверждения.
Оставьте свое сообщение