Просмотр заблокированных строк в 1С

Публикация № 557477

Администрирование - Производительность и оптимизация (HighLoad)

блокировки текущие

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

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

Инструмент не является конкурентом для ЦУП или облачного сервиса анализа блокировок, он предназначен в первую очередь для обучения и ознакомления с работой блокировок, а не для анализа ожиданий на блокировках.

Все инструменты на текущий момент показывают только информацию постфактум, когда ожидание уже случилось. Данный инструмент показывает ситуацию на текущий момент.

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

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

Сразу скажу что обработка работает не быстро, но такая цель и не ставилась. При этом следует учитывать, что работа возможна только с СУБД MS SQL Server и только в управляемом приложении.

Если ожидание идет на сервере СУБД, тогда можно увидеть, на каком именно ресурсе идет ожидание, в колонке статус будет значение «Ожидание». Для блокировок 1С посмотреть, на чем идет ожидание, не получится, т.к. сервер 1С просто не пишет эту информацию в логи в момент ожидания, она туда попадает только после того, как ожидание завершится.

Для использования обработки необходимо сначала заполнить настройки.

 

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

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

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

Для отображения данных необходимо нажать «Обновить».

В данном случае видно, что администратором наложены как блокировки СУБД, так и блокировки 1С (выделены жирным). 

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

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

Если это блокировка 1С, тогда независимо от пространства блокировок можно будет всегда посмотреть, что именно заблокировано.

При желании можно включить отображение служебных блокировок СУБД (флаг «Отображать блокировки намерения и стабильности схемы»). Мне сложно представить, кому и зачем на практике может понадобиться этот флаг, разве что таким же маньякам, как я :)

Хотя, возможно, кто-то будет к 1С:Эксперт готовиться и захочет «потрогать руками» служебные блокировки СУБД, а то про них говорят и спрашивают, но никто не показывает.

На данном рисунке ясно видно блокировку намерения на страницу и таблицу.

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

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

Если вы используете управляемый режим блокировок, то не удивляйтесь, что на уровне СУБД обработка почти всегда будет показывать только X блокировки. Просто S блокировки будут сниматься сразу после чтения, не дожидаясь конца транзакции, поэтому верятность их поймать крайне низка. 

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

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

 

UPD. 02.05.2020 Исправлены ошибки при отображении блокировок 1С и отображении дерева пользователей.

Скачать файлы

Наименование Файл Версия Размер
Просмотр заблокированных строк в 1С:

.epf 247,85Kb
02.05.20
18
.epf 247,85Kb 18 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. WellMaster 99 26.10.16 09:59 Сейчас в теме
Просто пытаюсь открыть обработку:

{ВнешняяОбработка.Блокировки_MS_SQL_Server_1С.МодульОбъекта(1033,12)}: Процедура или функция с указанным именем не определена (ПолучитьТаблицуДанныхПоСтрокеSQL)
			Возврат <<?>>ПолучитьТаблицуДанныхПоСтрокеSQL(СтруктураПараметров);
{ВнешняяОбработка.Блокировки_MS_SQL_Server_1С.МодульОбъекта(1035,12)}: Процедура или функция с указанным именем не определена (ПолучитьТаблицуДанныхПоСтраницеSQL)
			Возврат <<?>>ПолучитьТаблицуДанныхПоСтраницеSQL(СтруктураПараметров);
{ВнешняяОбработка.Блокировки_MS_SQL_Server_1С.МодульОбъекта(1603,17)}: Процедура или функция с указанным именем не определена (ПолучитьТаблицуЛоговТЖ)
	ТаблицаЛогов = <<?>>ПолучитьТаблицуЛоговТЖ();
3. Andreynikus 1333 26.10.16 10:42 Сейчас в теме
(1) WellMaster, обработка написана только под управляемое приложение. При запуске в обычном приложении будет описанная вами ошибка.
2. DenisCh 26.10.16 10:08 Сейчас в теме
Обратись к автору обработки
4. starik-2005 2177 27.10.16 13:38 Сейчас в теме
Как я понял, обработка показывает текущие блокировки СУБД (MS SQL) и уже завершившиеся блокировки 1С? Для первого, в принципе, можно в менеджмент студио правой кнопкой на базе и в отчетах найти соответствующий отчет по блокировкам. Я так понимаю, что основной плюс - это получение имени объекта в 1С?
5. Andreynikus 1333 27.10.16 22:01 Сейчас в теме
(4) starik-2005,
> Как я понял, обработка показывает текущие блокировки СУБД (MS SQL)
Да, именно так.

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

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

Если имеется ввиду отчет «Все блокирующие транзакции» то это не так. В отчете вы увидите только то, что одна транзакция блокирует другую. На какие строки наложена блокировка там не указано, на какой ресурс тоже не указано, даже тип блокировки не указан. На практике этот отчет почти бесполезен.
tormozit; +1 Ответить
21. nvv1970 09.10.17 07:51 Сейчас в теме
(5) информация по блокировкам 1с получается из ТЖ или с сервера приложения?
Меня самого часто просят посмотреть "что и кто прямо сейчас блокирует"... Мне представляется более удобным и качественным расследовать инциденты по истории блокировок в ТЖ, т.е. с некоторой статистикой по блокировкам за интервал времени. А сию секундный срез информации обладает лишь частичной пользой. Скорее это инструмент для выявления и "ликвидации" виновника (завершения сеанса)
22. Andreynikus 1333 09.10.17 11:33 Сейчас в теме
(21)
Информация об управляемых транзакционных блокировках 1С берется из ТЖ т.к. сейчас это единственный источник такой информации.
Это инструмент скорее для изучения блокировок, чем для реального анализа проблем, я об этом писал в статье.
6. ture 565 01.12.16 16:46 Сейчас в теме
(0) 1С держит все блокировки на сервере СУБД?
Заблокировать() и если пользователь форму открывает и начинает редактировать туда же?
8. Andreynikus 1333 04.12.16 14:27 Сейчас в теме
(6)
Нет конечно, блокировки 1С находятся на сервере приложений, именно их обработка и показывает если включить флаг.
9. Andreynikus 1333 04.12.16 14:30 Сейчас в теме
(6)
Блокировки 1С на сервере приложений, блокировки СУБД на сервере СУБД. Обработка может показывать и то и другое.
7. ture 565 02.12.16 08:59 Сейчас в теме
Выбор эксперта на инфостарте стал не объективным.
10. Andreynikus 1333 04.12.16 14:33 Сейчас в теме
(7)
Напишите поподробнее, что вы имеете ввиду?
11. it@medipal-onko.ru 28.01.17 14:47 Сейчас в теме
Можно ли здесь увидеть блокировки Регламентных заданий сервера 1С?
12. Andreynikus 1333 28.01.17 22:20 Сейчас в теме
(11)
Обработка показывает транзакционные блокировки 1С и СУБД, при этом не важно кто их наложил, пользователь или регламентное задание.
13. it@medipal-onko.ru 30.01.17 11:40 Сейчас в теме
жаль, что нельзя увидеть какой пользователь заблокировал объекты...
14. Andreynikus 1333 30.01.17 23:16 Сейчас в теме
(13)
Обработка показывает пользователей которые блокируют объекты, посмотрите на скрин.
15. it@medipal-onko.ru 31.01.17 09:04 Сейчас в теме
(14) именно так. я вижу список практически всех своих пользователей (около 150) и все заблокированные объекты. Но понять, кто и что заблокировал невозможно.
16. Andreynikus 1333 31.01.17 12:19 Сейчас в теме
(15)
Эта обработка в первую очередь для тестовых баз, для анализа что именно и в каких случаях блокируется, а не для расследования проблем в боевых базах.
Вы выделяете пользователя, внизу должны отразится данные о тех объектах которые он заблокировал.
Если пользователь Б отображается вложенным в пользователя А, это значит что пользователь А заблокировал пользователя Б. На крайнем скриншоте видно что Администратор заблокировал пользователя Продовец.
17. rossoxa 140 14.06.17 21:08 Сейчас в теме
Добрый день.Подскажите пожалуйста. При попытке включить блокировки 1С получаю ошибку
Прикрепленные файлы:
18. Andreynikus 1333 15.06.17 01:35 Сейчас в теме
(17)
Как бы глупо это не звучало, но проверьте что у пользователя под которым запущена служба 1С есть доступ в этот каталог conf на чтение и запись. Если у вас rphost запускается под своим пользователем, то проверьте под ним.
19. EmpireSer 26.09.17 16:10 Сейчас в теме
Ошибка в обработке:
Логина и пароля от SQL может не быть, так как MS SQL может работать по доменной авторизации.

Из-за этого вот тут тест проходит успешно
	// тестируем подключение sql
	СоединениеSQL = ОбработкаОбъект.СоздатьВнешнееПодключение(ПараметрыПодключения,10);
	Если СоединениеSQL <> Неопределено Тогда
		Сообщить("Подключение к серверу СУБД прошло успешно", СтатусСообщения.Информация);
	КонецЕсли;

А тут получаем проблему
	Если НЕ НастройкиЗаполнены() Тогда
		ОткрытьФормуМодально("ВнешняяОбработка.Блокировки_MS_SQL_Server_1С.Форма.ФормаНастроек");
		Возврат;
	КонецЕсли;
20. Andreynikus 1333 08.10.17 09:52 Сейчас в теме
(19)
Сейчас доменная авторизация в обработке не предусмотрена. Пока можно специально завести на сервере СУБД учетную запись и подключаться под ней.
23. user665952_a.karuna 03.11.17 13:19 Сейчас в теме
хорошая обработка, а под оракл когда-нибудь такая появится? или может уже есть?
24. Andreynikus 1333 04.11.17 11:29 Сейчас в теме
(23)
Может и есть, я не в курсе, хотя там СУБД версионник и как там получать список текущих блокировок не очень понятно.
В любом случае можно доработать обработку таким образом, что бы она фиксировала только управляемые блокировки, они не зависят от СУБД.
25. Novicad 2 21.11.17 06:28 Сейчас в теме
настройки кластера 1С, не проходит авторизация. Имя и пароль верные, админа 1С конфигурации?
27. harisov_r 26 11.01.18 15:58 Сейчас в теме
(25) эх, Александр догадался, а сюда не написал - у меня тоже не проходило соединение с Кластером, пока не наткнулся на фразу к описанию в другой обработке: если кластер без ограничения доступа, то следует писать так: Агент.Authenticate(Кластер, , );
и я понял, что на моем ноутбуке при установке я не делал пароль и логин для администратора кластера, поэтому имя и пароль администратора кластера надо оставить пустыми :о)
26. Novicad 2 21.11.17 06:29 Сейчас в теме
28. Xershi 981 19.06.18 13:26 Сейчас в теме
При тестировании подключения пишет, что нужно проделать настройку по статье: https://infostart.ru/public/197627/
Сервер 1С 64-битный.
Выполнил настройку, но сервер не перезапускал.
Есть методы без этих манипуляций?
29. Andreynikus 1333 20.06.18 12:05 Сейчас в теме
(28)
Тут дело не в обработке, а в COM - конекторе, если он не работает, то и остальное работать не будет.
30. Xershi 981 20.06.18 14:28 Сейчас в теме
(29) это понятно что не в обработке. Может нашли способ без создания обертки или без перезагрузки сервера хотя бы.
31. kar911 28.06.18 15:14 Сейчас в теме
Подскажите что не так делаю, ввел настройки, проверил подключение, подключился успешно. Поставил все галочки, нажал обновить но данных так никакие и не отобразило кроме списка пользователей.
32. Andreynikus 1333 29.06.18 17:57 Сейчас в теме
(31)
Возможно имя базы данных отличается от имени информационной базы.
33. kar911 29.06.18 18:12 Сейчас в теме
(32)ну да отличается, но ведь подключение проходит успешно
34. Andreynikus 1333 29.06.18 18:20 Сейчас в теме
(33)
Я имею ввиду, что в настройках обработки нужно указывать именно ту базу данных, которая указана в свойствах информационной базы 1С.
И еще следует учитывать тот факт, что обработка показывает только заблокированные строки на момент нажатия кнопки. Если ничего не заблокировано, то обработка ничего не покажет.
35. Xershi 981 29.06.18 23:48 Сейчас в теме
Переписал вашу обработку на обычные формы, чтобы не нужно было создавать обертку для 64-битного сервера.
Кстати для таких случаев стоит предусмотреть использование названия через реквизит. Плюс таблицу "Пользователи" переименовал в "ТаблицаПользователи", т.к. в типовых есть одноименный общий модуль!
36. Andreynikus 1333 30.06.18 09:06 Сейчас в теме
(35)
Отлично, я как раз за то что бы обработка развивалась! Буду рад если выложите свою версию в комментариях, возможно это поможет кому-то еще.
37. Terve!R 21.08.18 09:56 Сейчас в теме
(35) как раз не получилось на конфигурации с обычными формами и 64 битным сервером запустить. Поделитесь?
38. Xershi 981 21.08.18 10:28 Сейчас в теме
(37) планирую сделать публикацию, как только будет протестирована обработка. Сообщу как будет готова!
39. Pawlick 10 03.10.18 14:09 Сейчас в теме
Добрый день.
Скачал обработку, настроил, обертку создал, все ок.

Но при попытке обновить данные ошибка:

"Ошибка при выполнении запроса SQL. {ВнешняяОбработка.Блокировки_MS_SQL_Server_1С.МодульОбъекта(106)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][SQL Server]Контекст базы данных изменен на "ca_mss_second"."

Не подскажите в чем может быть проблема?
40. Andreynikus 1333 05.10.18 10:47 Сейчас в теме
(39)
Проверьте что у пользователя СУБД которого вы указали есть необходимые права для подключения к вашей базе. Это первое что приходит на ум.
41. WellMaster 99 22.10.18 12:04 Сейчас в теме
Долго бился с ошибкой подключения к кластеру 1с, пока не зарегистрировал длл-ку следующим методом (во вложении на картинке). Запуск командной строки от имени администратора.
Обертку в COM+ как в статье https://infostart.ru/public/197627/ не использовал.
Прикрепленные файлы:
Xershi; Andreynikus; +2 Ответить
44. Xershi 981 30.01.19 21:47 Сейчас в теме
(41) спасибо!
Дублирую текстом:
c:\Windows\SysWOW64\regsvr32 "c:\Program Files\1cv8\8.3.13.1644\bin\comcntr.dll"

Останется только версию платформы подменить!
45. Xershi 981 30.01.19 21:50 Сейчас в теме
(44) увы, что в 32-битной клиенте, что в 64-битном на УФ:
Не зарегистрирована компонента comcntr.dll: {ВнешняяОбработка.Блокировки_MS_SQL_Server_1С.МодульОбъекта(408)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса
В моей доработке для ОФ конечно код выполняется на 32-битном режиме и обработка запускается...
42. lemilk 30.01.19 16:34 Сейчас в теме
К серверу 1С на Ubuntu + PostgreSQL эту обработку можно приспособить?
43. Andreynikus 1333 30.01.19 20:35 Сейчас в теме
(42)
Если смотреть только управляемые блокировки тогда можно.
Если сервер 1С на Ubuntu то возможно потребуются танцы с бубном, но код открыт, так что все в ваших руках.
46. vova196 24 05.02.19 13:18 Сейчас в теме
В описании указано что для 8.х, но под 8.2 - не запускается.
Текст ошибки
47. Kinestetik 22 26.02.19 18:23 Сейчас в теме
(46), в 8.2 ещё не было таких инструкций препроцессора как "#Область", она появилась только в 8.3

Пройдитесь глобальной заменой по всей обработке и сделайте:

#Область заменить на //#Область
#КонецОбласти заменить на //#КонецОбласти

После этого ошибок быть не должно
dimaster; +1 Ответить
48. Franchiser 47 07.05.19 21:28 Сейчас в теме
При активизации пользователя в верхней таблице можно увидеть в нижней блокировки выделенного пользователя?
если нет, то как сопоставить блокировки с их инициаторами?
49. Andreynikus 1333 12.05.19 13:38 Сейчас в теме
(48)
Да, все верно. При выборе пользователя отображаются только те блокировки которые наложил именно он.
50. Franchiser 47 13.05.19 12:29 Сейчас в теме
(49) у меня не отображаются блокировки конкретного пользователя, всегда видны все блокировки без фильтра
52. Andreynikus 1333 13.05.19 14:29 Сейчас в теме
(50)
А у других пользователей точно есть наложенные в этот момент блокировки?
Обработка отображает только те блокировки, которые существовали в момент нажатия кнопки.
53. Franchiser 47 14.05.19 11:18 Сейчас в теме
(52) да, блокировки показывает по выделенному пользователю, но после нажатия кнопки активизируется всегда первая строка "все пользователи". Т.о. не понятно по кому смотрим блокировки.
54. Andreynikus 1333 14.05.19 11:36 Сейчас в теме
(53)
При нажатии кнопки, список всех блокировок для всех пользователей получается заново так и было задумано т.к. для моих целей этого достаточно.
Если вы хотите по нажатию на кнопку получать блокировки только выделенного пользователя, тогда можете просто дописать обработку, код полностью открыт.
51. Franchiser 47 13.05.19 12:32 Сейчас в теме
После нажатия на кнопку обновить активизируется строка "Все пользователи".
55. yabesabs 21.05.20 10:51 Сейчас в теме
Андрей, добрый день. А подскажите, пожалуйста, нет ли версии этой обработки, которая выполняет запрос SQL не на стороне сервера, а на стороне клиента (функцию ВыполнитьЗапросSQL() в случае этой обработки)? У меня нет доступа на сервер SQL (по правилам СБ), но при windows аутентификации со стороны клиента я могу выполнять запросы SQL. Я пытался доработать вашу обработку, но понял, что это достаточно сложная задача.
56. Andreynikus 1333 22.05.20 00:07 Сейчас в теме
(55) не очень понял что именно вы имеете ввиду под клиентом, сервер 1С?
В параметрах есть возможность Win аутентификации.
Прямой запрос выполняется только на СУБД через подключение для которого нужны логин и пароль. У вас же сервер 1С как то цепляется к СУБД, в свойствах ИБ на сервере прописан логин.
57. yabesabs 22.05.20 11:24 Сейчас в теме
(56) Я прикрепил картинку с настройками: произошло подключение и к SQL серверу и к 1С. Так как у нас Win аутентификация, логин и пароль я не вводил, пришлось в коде закомментить проверку на обязательное заполнение логина и пароля.

Но теперь при нажатии на кнопку "Обновить" возникает следующая ошибка:
"Ошибка при выполнении запроса SQL. {ВнешняяОбработка.Блокировки_MS_SQL_Server_1С.МодульОбъекта(106)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC SQL Server Driver][SQL Server]Changed database context to 'Besschetnov_Kursy1C'."

В приложенном файле видно где возникает ошибка и сам запрос, который выполняется (см. рис.)

Так вот я писал, что если этот запрос выполнить не в модуле объекта (на сервере), а в модуле формы (&НаКлиенте), то запрос выполняется и ошибка не возникает. Админы написали, цитирую: "В обработке запрос выполняется на сервере под учеткой службы, права у этой службы ограничены. Если же послать этот запрос с клиента под своей учеткой, то права будут".
Прикрепленные файлы:
58. Andreynikus 1333 22.05.20 18:41 Сейчас в теме
(57)
А причем ту права доступа? Ошибка о которой вы написали с этим не связана.
Попробуйте другой способ соединения с БД например через Provider=SQLOLEDB
Там он уже есть просто в комментарии.
Оставьте свое сообщение

См. также

Еще один тест 1C: Postgres SQL 11 Pro Enterpise против MSSQL 14 под Windows 2012 Server R2 Промо

Производительность и оптимизация (HighLoad) v8 Абонемент ($m)

Проработав 15 лет с MSSQL в 2017 начал активно СУБД Postgres SQL. За два года успел поработать в 9 версии Postgres и в 10-ой. И пришел к выводу, что существуют реальное замедление работы баз после перехода на Postgres. Недавно вышла 11 версия Postgres Pro Enterpise, которая обещает почти 2-х кратное ускорение над 11 Pro Standart и 10-ой версией. Закупив лицензию Postgres 11 Pro Enterpise Это я и решил проверить на 1С.

1 стартмани

05.09.2019    13282    40    Indgo    106    

Простая параллельная обработка данных

Производительность и оптимизация (HighLoad) Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Предлагаю способ быстрой параллельной обработки "неких" данных. Методика проста как дважды два. Предварительно подготовленная обработка запускается вручную в нескольких сеансах, и каждый сеанс занимается обработкой своей части (случайного диапазона). Может пригодиться для ускоренной обработки данных. К примеру, необходимо заполнить реквизит большого справочника, заполнение в один поток идёт долго, а сроки поджимают.

1 стартмани

10.02.2020    2879    1    Amadeus007    8    

Zabbix: Мониторинг рабочих процессов

Zabbix v8 1cv8.cf Абонемент ($m)

Мониторинг памяти, потребляемой рабочими процессами, средствами Zabbix. Создание пользовательских LLD правил с помощью One Script

1 стартмани

07.02.2020    3638    2    EShchavleva    6    

Транслятор запросов 1С в SQL

Производительность и оптимизация (HighLoad) Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Инструмент для трансляции запросов платформы 1С в SQL, а также их диагностики.

10 стартмани

07.01.2020    10436    77    YPermitin    89    

Многопоточная обработка данных Промо

Производительность и оптимизация (HighLoad) Администрирование данных 1С v8 v8::УФ 1cv8.cf Абонемент ($m)

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    18393    53    _ASZ_    15    

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Администрирование СУБД Нагрузочное тестирование Сервера v8 1cv8.cf Абонемент ($m)

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

3 стартмани

17.12.2019    9915    10    sapervodichka    3    

Работа с базами данных 1С в SQL Server Management Studio (Расширение для SSMS)

Администрирование СУБД Производительность и оптимизация (HighLoad) Администрирование данных 1С Структура метаданных v8 Абонемент ($m)

Расширение позволяет просматривать связи объектов метаданных и таблиц БД, сгруппированные данные (по группам метаданных) об используемом дисковом пространстве и выполнять трансляцию SQL текста запроса в термины 1С. И бонусом - при наведении курсора мыши на таблицу или поле показывает назначение объекта в терминах 1С.

10 стартмани

27.11.2019    10129    36    akpaevj    46    

Мониторинг количества использованных программных лицензий, выданных выделенным сервером лицензирования

Zabbix v8 Абонемент ($m)

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

1 стартмани

22.11.2019    3312    2    Sloth    4    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    47421    15    DarkAn    86    

Быстрая реструктуризация базы данных

Производительность и оптимизация (HighLoad) Конфигурирование 1С v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Внешняя обработка для быстрой реструктуризации клиент-серверной базы данных. Способ ускорения реструктуризации - замена таблиц большого объема пустыми копиями перед проведением обновления БД и возврат к исходным таблицам после обновления с предварительной корректировкой их структуры. Полностью автоматизировано создание и выполнение всех требуемых скриптов SQL. Представлены версии обработки для обычных форм (1С:Предприятие 8.2 (8.2.19.130)) и управляемого приложения (1С:Предприятие 8.3 (8.3.9.1818)).

1 стартмани

05.11.2019    11881    42    dmitrydemenew    36    

Влияние БСП на производительность базы 1С с добавленными метаданными

Производительность и оптимизация (HighLoad) Адаптация типовых решений БСП (Библиотека стандартных подсистем) v8 УТ11 Абонемент ($m)

Повод для статьи — заметное снижение быстродействия при переводе учета с УТ 11.1 на 11.4 по «нашим» не стандартным метаданным (регламенты работы с массовым заполнением/проведением документов/регистров). Предварительно причину увидел во влиянии БСП. Была создана тестовая подсистема, быстродействие которой оцениваем в демобазе "Управление торговлей". С включенными и выключенными подписками БСП.

5 стартмани

04.11.2019    6092    2    VsHome    1    

Кто круче: "ИЛИ" или "ОБЪЕДИНИТЬ ВСЕ" в запросе?

Производительность и оптимизация (HighLoad) v8 v8::СПР v8::Запросы ЗУП2.5 Абонемент ($m)

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

1 стартмани

14.09.2019    5147    0    azazana    28    

Версионирование объектов. Сжатие регистра "ВерсииОбъектов" Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Cжимаем версии объектов в регистре сведений "ВерсииОбъектов". Экономия занимаемого версиями объектов объема более 50% !!!

1 стартмани

30.12.2014    26622    24    ZLENKO    14    

Оптимизация прав ролей

Производительность и оптимизация (HighLoad) Роли и права v8::УФ v8::Права 1cv8.cf Россия Абонемент ($m)

Решение вопроса по неоптимальной настройке (избыточной) ролей, влияющей на производительность системы (потребление оперативной памяти). Алгоритм работы следующий: Выгрузка конфигурации в файлы - Обработка (изменение) файлов прав ролей - Загрузка измененных прав в конфигурацию. Проверено на платформе начиная с 8.3.12.

1 стартмани

09.09.2019    7176    5    toxilamer    11    

Количество баз 1С как счетчик в Zabbix

Статистика базы данных Zabbix v8 1cv8.cf Абонемент ($m)

Делаем счётчик баз 1С в Zabbix.

1 стартмани

26.08.2019    5163    0    MrWonder    7    

Менеджер потоков: реализация "любой" задачи в потоках

Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 Абонемент ($m)

Менеджер потоков – один их новых инструментов, который упрощает работу разработчиков. Насколько легко с ним, на конференции Infostart Event 2018 Education показал начальник отдела автоматизации 1С Иван Филимонов компании «Трансстроймеханизация».

01.08.2019    8878    0    DarkAn    6    

Многопоточное тестирование производительности сервера 1С - СУБД Промо

Сервисные утилиты Статистика базы данных Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.02.2013    81797    277    Fragster    179    

Бухгалтерия 3.0: медленная работа при загрузке данных контрагента по ИНН

Производительность и оптимизация (HighLoad) v8 v8::БУ БП3.0 Россия Абонемент ($m)

Поиск и исправление медленной загрузки контрагентов по ИНН в Бухгалтерия 3.0.71.75.

1 стартмани

10.07.2019    4217    3    MaxxiMiliSan    2    

Ловец дедлоков СУБД

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Россия Абонемент ($m)

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    10313    2    azazana    79    

Мониторинг производительности и искусственный интеллект

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Абонемент ($m)

Расскажем и покажем практически, как использовать искусственный интеллект на страже мониторинга производительности. У вас появится возможность создать собственного помощника Ларису, которая возьмет на себя вопросы по контролю и диагностике состояния обслуживаемой системы.

1 стартмани

01.07.2019    8678    12    ivanov660    28    

Многопоточный МикроСервер для файловой базы управляемого приложения 1c Промо

Сервисные утилиты Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

19.12.2013    37033    48    Chai Nic    57    

Исправление долгого запуска БП 3.0.70 по причине большого количества платежек

Производительность и оптимизация (HighLoad) v8 v8::БУ БП3.0 Россия Абонемент ($m)

Обработка исправления долгого запуска БП 3.0.70 по причине большого количества платежек.

1 стартмани

18.04.2019    4563    7    a_v_u    1    

Взаимодействие при редактировании одних и тех же данных [Расширение] УТ11

Производительность и оптимизация (HighLoad) v8 УТ11 Россия Абонемент ($m)

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

2 стартмани

14.04.2019    4819    2    noprogrammer    1    

Методика оптимизации программного кода 1С: проведение документов

Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    21988    16    dmitrydemenew    83    

Методика упрощения поддержки конфигураций. Переопределение и вызов обработчиков событий для УФ 1С 8.2-8.3 Промо

Производительность и оптимизация (HighLoad) Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

10.02.2013    53018    27    pbazeliuk    40    

Исправление ЦУП 2.1.2

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Расширение для конфигурации Центр управления производительностью, редакция 2.1 (2.1.2.11), которое позволяет настроить регламентный мониторинг. Работает на платформе 1С:Предприятие 8.3 (8.3.13.1644).

2 стартмани

21.01.2019    4846    5    Neco    0    

Многопоточное тестирование производительности по методике APDEX (управляемые формы)

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

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

10 стартмани

09.01.2019    7573    11    capitan    24    

Заметочки про 1С:Предприятие 8 (редакция 22.06.2012) Промо

Производительность и оптимизация (HighLoad) Практика программирования v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

01.06.2010    176695    46    alexk-is    413    

Решение проблемы быстродействия в ERP на рабочем примере

Производительность и оптимизация (HighLoad) v8 ERP2 Абонемент ($m)

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

3 стартмани

18.12.2018    15453    102    ivanov660    17    

Короткое нагрузочное тестирование PostgreSQL простыми запросами

Производительность и оптимизация (HighLoad) v8::УФ Абонемент ($m)

Короткое нагрузочное тестирование PostgreSQL простыми запросами. Прилагаются результаты в файлах pgBadger и perfmon.

1 стартмани

10.12.2018    10394    1    vasilev2015    22    

PostgreSQL для 1С 8.3: ускоряем резервное копирование и восстановление для отдельной базы очень большого размера

Производительность и оптимизация (HighLoad) Тестирование и исправление v8 1cv8.cf Россия Абонемент ($m)

В этой статье разберем оптимизацию работы с моментальным снимком отдельной базы 1С в кластере PostgreSQL средствами pg_dump.exe, pg_restore.exe, psql.exe в среде Windows Server 2008,2012,2016. А также разберем проблемные ситуации и неожиданные ограничения при работе 1С в связке с PostgreSQL. Для Linux все аналогично.

1 стартмани

03.12.2018    26290    38    vsasav    68    

И снова о скорости работы 1с 8.х + тест от Гилева (конфигурация TPС_1C_GILV_A) + как Выбрать сервер для 1С 8.х Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Предыстория: Есть в конторе, где я работаю, пара практически ОДИНАКОВЫХ по железу сервера... так вот заметили что на одном из них 1С 8.2 работает значительно быстрей что в Клиент-Серверном, что в файловом варианте... и что именно удивило так это что медленней работал сервер с большим количеством Оперативной памяти + RAID10 на SSD. Проводили много тестов на работу дисковой системы + различные тесты SQL - ВЫВОД: ничего непонятно где тормоза. И вот попала ко мне конфигурация 1С для оценки производительности 1С от Гилева http://infostart.ru/public/57204/ Подробности в Описании...

2 стартмани

13.08.2012    377507    185    sanfoto    2558    

Замер производительности. КА 2, УТ 11

Статистика базы данных Производительность и оптимизация (HighLoad) v8 УТ11 Абонемент ($m)

Отчет позволяет замерять на актуальных базах КА2 и УТ11 (в том числе на демо-базах) три параметра: время выборки данных, время передачи с клиента на сервер, время вывода данных. Тестировал на релизах КА 2.4.1.240 и УТ 11.4.5.32.

1 стартмани

22.11.2018    6729    5    FarFar    9    

Скорость работы 1С8 файловой по сети

Производительность и оптимизация (HighLoad) v8 1cv8.cf Абонемент ($m)

Как я увеличил скорость работы файловой 1С8 по сети, изменив формат БД и размер страницы.

1 стартмани

01.11.2018    26120    17    Vlx    55    

Мониторинг показателей систем 1С 8.3 с помощью Zabbix

Внешние источники данных Zabbix v8 1cv8.cf Абонемент ($m)

Опишу свой опыт мониторинга наших систем 1С с помощью Zabbix и ту пользу, которую можно извлечить из этого.

1 стартмани

05.10.2018    34609    49    akimych    48    

Ускоряем расчет себестоимости УПП Промо

Производительность и оптимизация (HighLoad) Закрытие периода Закрытие периода v8 УПП1 Россия БУ УУ Абонемент ($m)

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

1 стартмани

05.03.2013    34129    21    Антон Ширяев    46    

Очистка и обновление индекса полнотекстового поиска (регламентное задание)

Производительность и оптимизация (HighLoad) v8 УНФ ДО БП3.0 УТ11 УХ ЗУП3.x Россия Абонемент ($m)

Обработка-регламентное задание позволяет в автоматическом режиме очищать и обновлять индекс полнотекстового поиска. Это необходимо делать для устранения проблем производительности на крупных базах. Подключаем в доп.обработках, задаем расписание выполнения на выходные и радуемся :)

2 стартмани

14.09.2018    19126    74    Kyrales    6    

Пересечение транзакций. Примеры

Производительность и оптимизация (HighLoad) v8 Абонемент ($m)

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

3 стартмани

03.09.2018    10512    0    vasilev2015    5    

Монитор блокировок пользователей

Производительность и оптимизация (HighLoad) v8 v8::blocking 1cv8.cf Россия Абонемент ($m)

Анализ и автоматическое удаление блокировок

1 стартмани

17.08.2018    6352    14    Re:аниматор    7    

Автоформатирование кода Промо

Сервисные утилиты Обработки Чистка базы Справки Производительность и оптимизация (HighLoad) Инструментарий разработчика Практика программирования Универсальные обработки Решение задач на 1С:Специалист Математика и алгоритмы Администрирование данных 1С Разработка Тестирование и исправление Стартеры 1С v8 1cv8.cf Абонемент ($m)

Как часто приходится работать в режиме аврала, когда на оформление кода не хватает времени? И как лениво порой бывает, возвращаться к уже рабочему коду, что бы отформатировать его и привести в порядок. Данная обработка позволяет автоматически форматировать текст кода, в соответствии с настройками пользователя. Это позволит привести ваш код, как уже написанный так и будущий к единому оформлению.

1 стартмани

19.12.2012    38878    46    Sibars    57    

Нагрузочное тестирование. В дни проведения ЧМ по футболу.

Производительность и оптимизация (HighLoad) v8 Абонемент ($m)

Нагрузочное тестирование. Подготовка к экзамену 1С:Эксперт. По мотивам доклада Виктора Богачева Инфостарт Event 2014. В дни проведения ЧМ по футболу.

1 стартмани

24.06.2018    10221    4    vasilev2015    9    

Оптимизация 1С на реальном примере. История №2 - deadlock

Производительность и оптимизация (HighLoad) Практика программирования v8 Бесплатно (free)

Статья о том, как я расследовал взаимоблокировки (deadlock) в 1С.

11.06.2018    14030    0    Dream_kz    18    

Ускорение отчета 'Контроль передвижений агентов (онлайн-карты)' от AgentPlus v1.5.2

Производительность и оптимизация (HighLoad) Рабочее место v8 1cv8.cf Украина Абонемент ($m)

У пользователей системы AgentPlus (Агент Плюс) отчет 'Контроль передвижений агентов (онлайн-карты)' v1.5.2 вызывает восторг и разочарование одновременно. Восторг – потому, что позволяет увидеть маршрут передвижения пользователя системы с привязкой к карте и дорогам, разочарование – от длительности построения отчета. Отчет по 45 точкам маршрута у меня строится больше минуты. Тестировалось на "Управление торговым Предприятием" 1.2.45.2.

1 стартмани

03.05.2018    5693    2    DiegoLidabo    0    

В «1С:ЗУП КОРП 3.1» тормоза (медленная работа) в журналах документов при использовании критериев отбора

Практика программирования Производительность и оптимизация (HighLoad) v8::Запросы ЗУП3.x Абонемент ($m)

Статья для тех, у кого: 1) используете RLS (ограничение доступа на уровне записей и полей), 2) много документов (более 100 тысяч в одном журнале), 3) используете «Журналы документов», 4) отборы в динамическом списке (по сотруднику). Скорее всего, Вы испытали на себе, как отбор происходит минутами (жутко тормозит) – тогда Вам сюда.

1 стартмани

04.01.2018    18218    0    Nykyanen    3    

Обработки  для проведения сценарного нагрузочного тестирования на примере конфигурации ЗУП версии 3.1.1.91

Производительность и оптимизация (HighLoad) v8 1cv8.cf Украина Абонемент ($m)

Обработки предназначены  для проведения сценарного нагрузочного тестирования, включая  пример описанного  сценария  с обработками (epf) -  ГлавныйРасчетчик, Кадровик, Расчетчик, Табельщик. Обработка будет полезна прежде всего тому, кто внедряет решение на базе конфигурации 1С "Зарплата и Управления персоналом" с необходимостью воспроизвести определенный сценарий с заданным количеством пользователей для расчета, а также возможность посмотреть, какая будет при этом нагрузка на ваше оборудование и скорость выполнения операций с учетом блокировок СУБД. Также это будет интересно тем, кто хочет прощупать, как на практике пользоваться конфигурацией "Тест Центр", входящий в состав пакета 1С:КИП.

2 стартмани

15.09.2017    8712    19    podorojnii_ayu    0    

Графический план выполнения запроса 1С

Производительность и оптимизация (HighLoad) Инструментарий разработчика Универсальные обработки v8 1cv8.cf Абонемент ($m)

Просмотр графического отображения плана выполнения для запросов 1С. Для информационных баз на MS SQL Server.

1 стартмани

24.06.2017    14648    56    berezdetsky    28    

Ускорение в 100 раз. Решаем проблему блокировок

Производительность и оптимизация (HighLoad) v8 v8::УФ 1cv8.cf Бесплатно (free)

Я являюсь автором и тренером курсов по оптимизации и повышению производительности в 1С. Большинство людей приходят ко мне на обучение, желая разобраться со своими проблемами, и я очень часто слышу от них: «эти блокировки замучили, достали, жизни нет, что делать – не знаем. Технологический журнал включали, галочки ставили, форумы читали – ничего не помогает». Я уверен, что эта тема актуальна для многих из вас, поэтому в статье, не вдаваясь глубоко в подробности, я хочу вам дать некоторые конкретные рекомендации, которые вы сможете применить у себя и сразу получить ощутимый эффект. Например, если у вас запрос из-за блокировок выполняется 15 секунд, то после оптимизации он начнет выполняться за 15 миллисекунд. Это обычная практика, никакой фантастики – все это можно сделать.

13.06.2017    72749    0    Andreynikus    34    

Перерасчет итогов регистра бухгалтерии в 1С

Производительность и оптимизация (HighLoad) v8::БУ БП1.6 Россия БУ Абонемент ($m)

Вариант перерасчета итогов частями (помесячно), если при типовом пересчете 1С зависает.

1 стартмани

30.05.2017    13896    19    MarcoPolo3    1