Нужно ли данное исправление для 8.0 SQL (клиент-сервер)?
Нет, там эта проблема не существует. А для версии 7.7 эта проблема существует во всех версиях - и SQL, и DBF.
Как узнать, что проблема решена
Вставьте в модуль проведения Предупреждение(), чтобы остановить проведение. Начните (из другой копии 1С) проводить другой документ. 1С с ошибкой станет загружать процессор на 100% пустым циклом ожидания, тогда как 1С без ошибки (или с установленным исправлением) грузить процессор не будет. Я начал свою разработку именно с этой проверки.
Установка
Плагин присоединяется в качестве одного из бинарных файлов 1С:Предприятие (чтобы 1С его загружала, я использую небольшой патч с подменой имени DLL). Управление загрузкой плагина происходит через файл ini.
Если у вас файл-серверная версия 1С (77, 8.0 или 8.1) ставьте из папки Plugin_dbf_77_80_81
Если у вас клиент-серверная (SQL) версия 1С 7.7 - ставьте из папки plugin_sql_77.
Если у вас есть и DBF, и SQL базы 7.7 - ставьте и то, и то (они друг другу не мешают).
Если у вас клиент-серверная (SQL) версия 8.0 или 8.1 - вам не нужно ничего ставить (проблемы с блокировками там нет).
Чтобы было удобнее устанавливать и (при необходимости) отключать плагин сразу у всех пользователей, имеет смысл расположить файлы 1С:Предприятие на сервере (в папке, которая открыта пользователям в режиме "только чтение"). Потребуется исправить только ярлыки на рабочем столе, чтобы они указывали туда. Это позволит оперативно вносить исправления в программные файлы 1С:Предприятие, устанавливать новые релизы платформы и т.д.
Сигнальные файлы
В настройках (ini) есть параметр - сигнальный файл. Если он указан, то файл с указанным именем возникает при конфликтах блокировки синхронно с сообщением, которое вы видите на экране. Вы можете научить ваших роботов проведения смотреть на этот файл, и делать паузу, пока пользователь проводит свой документ. Потом робот проведения должен сам удалить этот сигнальный файл.
Если у вас нет роботов проведения, или они не беспокоят ваших пользователей, то сигнальный файл вам не нужен (укажите там пустую строчку).
Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки
База данных - HighLoad оптимизация
Скачать исходный код
Наименование | Файл | Версия | Размер | |||
---|---|---|---|---|---|---|
-
.7z 130,62Kb
7911
|
.7z | 130,62Kb | 7911 | Скачать бесплатно |
См. также
Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы
HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)
Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.
13.03.2024 3644 spyke 28
Быстродействие типовой 1С
HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)
Оказывается, в типовых конфигурациях 1С есть, что улучшить!
13.03.2024 5611 vasilev2015 19
Анализируем SQL сервер глазами 1С-ника
HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)
Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих зааросов на sql, ожиданий, конвертация запроса в 1с и рекомендации где может тормозить
1 стартмани
15.02.2024 8471 170 ZAOSTG 74
Удаление строк из таблицы значений различными способами с замером производительности
HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)
Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.
09.01.2024 6791 doom2good 49
Опыт оптимизации 1С на PostgreSQL
HighLoad оптимизация Бесплатно (free)
При переводе типовой конфигурации 1C ERP/УТ/КА на PostgreSQL придется вложить ресурсы в доработку и оптимизацию запросов. Расскажем, на что обратить внимание при потерях производительности и какие инструменты/подходы помогут расследовать проблемы после перехода.
20.11.2023 9581 ivanov660 6
ТОП проблем/задач у владельцев КОРП лицензий 1С на основе опыта РКЛ
HighLoad оптимизация Бесплатно (free)
Казалось бы, КОРП-системы должны быть устойчивы, быстры и надёжны. Но, работая в рамках РКЛ, мы видим немного другую картину. Об основных болевых точках КОРП-систем и подходах к их решению пойдет речь в статье.
15.11.2023 5429 a.doroshkevich 20
Начните уже использовать хранилище запросов
Очень немногие из тех, кто занимается поддержкой MS SQL, работают с хранилищем запросов. А ведь хранилище запросов – это очень удобный, мощный и, главное, бесплатный инструмент, позволяющий быстро найти и локализовать проблему производительности и потребления ресурсов запросами. В статье расскажем о том, как использовать хранилище запросов в MS SQL и какие плюсы и минусы у него есть.
11.10.2023 16697 skovpin_sa 14
Поиск часто повторяющихся запросов. Мониторинг производительности
HighLoad оптимизация Запросы Мониторинг Бесплатно (free)
Расскажем, как найти часто повторяющиеся запросы.
05.10.2023 5964 ivanov660 3
>>Нет, там эта проблема не существует.
Это можно понимать что проблема для SQL вообще не существует? Или для 7.7 плуг все-таки нужен?
Поскольку использую еще для ДБФ - плюс однозначно.
А не повлияет ли снятие блокировок на неверные расчеты?
(учет по среднему)
скажем
(1) бухгалтер вводит документ поступление МПЗ
(2) начинает делать какой либо документ по списанию этого МПЗ
(2) закончил ввод и начинает проводить
на половине пути проведения документа вторым бухом, запускает проведение первый бух
т.е. возможна ситуация
(2) получаю остатки по МестамХранения
(1) изменяет регистр Партии и МХ
(2) получает остатки по Партиям
(2) средняя цена изменилась в сторону увеличения
в случае с блокировкой транзакций, остатки и средние суммы посчитаются верно,
а если блокировки отключены? может такое произойти и на сколько вероятно?
Также убрал внешние компоненты (плагином к программным файлам по-моему лучше), чтобы не создавать разных вариантов и лишних вопросов.
Дописал описание по поводу сигнальных файлов, и в каких случаях чего нужно ставить.
Я вот сейчас что подумал. Если проблема только в патчинге, то я могу замутить загрузчик в виде внешней компоненты. А она уже подгрузит те же самые плагины.
Неудобство с окошком о паузе, оно активизуруется при ожидании и переключает из других приложений обратно, а сообщение в трее, в случае использования опубликованного приложения Citrix'a, правильно не отображается. Хорошо, что можно отключить, и то, и другое.
В Kernel37.dll заложен аналогичный функционал, но вроде там работает по другому ...
Может в вашей компоненте заложить снятие ограничения в 1ГБ для ДБФ баз?
>> Кстати, как работает с Kernel33.dll от
Да. Поэтому и появился Kernel37. Но алгоритм у romix лучше.
>> Может в вашей компоненте заложить снятие ограничения в 1ГБ для ДБФ баз?
Данный алгоритм должен включатся до открытия файлов DBF. А алгоритм разработки может включаться и позже. Проще в разработке romix учесть при перехвате еще и имя Kernel33.
проблема существует :(
ну вот сматрите
1С:Предприятие 8.0 (8.0.18.2)
Конфа и как видишь релиз Семейство "АСТОР: Ваш магазин 6.0" (6.0.15.8)
сама база гдет 7 гигов лог транзакции около 40 ка. Гигов сервак оптерон 2 процессорный 4 гига озу пользователеи одновременно работающих и проводящих наклдые всякие 16 РОБОТОВ . Загрузка проца 100 % а оперативы жарет 4,75 . Работа всех идет в терминальном режиме. Хотел твою разработку применить в этом во всеи и помогло бы конкретно!!!!Но б..ин муха она тока на фаиловом работает а на SQL нет памагииитя плз
Самое интересное, что когда-то была другая компонента (того же автора?), "vk_sleep_1C". Грузилась она другим способом :
Если ( ЗагрузитьВнешнююКомпоненту("vk_sleep_1C.dll") = 1 ) Тогда
vk_sleep=СоздатьОбъект("Addin.vk_sleep_1C");
vk_sleep.УстановитьПаузуПриБлокировке(1024, "7.7");
vk_sleep.ПоказыватьВсплывающиеПодсказки=0; //если=1, то показывает balloon tooltips в трее при блокировке.
КонецЕсли;
То есть не патчили DLLки 1С на диске, а ремонтировали проблему как-то иначе. (Кажется читал, что тоже патчили, но уже в памяти.)
Сейчас ссылок на неё в сети почти нет (где скачать - вообще не нашел). Хотя данный вариант мне, от чего-то, более приятен, пусть уж на диске эти правообладательские ДЛЛ останутся нетронутыми, а в памяти - не проверят :)
Вполне исправно пашет... Вроде :)
Автор, чем vk_sleep_1C.dll плоха?
На сайте автора хранится куча старых его разработок, и их развитие.(Что в принципе верно, видно ход мысли, да и вообще..)
Но на эту vk_sleep_1C.dll никаких намёков.
10025077 Ввод данных в поля ввода
Проблема:
При вводе данных в поле ввода наблюдается 100% загрузка процессора компьютера.
Дата публикации: 2009-06-10
Здравствуйте, я поставил компоненту Plugin_Terminal_Sleep в фирму с базой 7.7 Dbf Торговля 9.29.
Количество пользователей более 30.
Стала появляться ошибка в определенный момент, при вводе на основании ЗаявкаПокупателя документа Реализация и попытке записать документ пишет
Объект заблокирован, т.е. только что созданный документ, еще даже не до конца созданный оказывается заблокированным.
Это исчезает только после лечения базы через тестирование и исправление, где вылезает список ошибок по потерянным шапкам документов.
После лечения некоторое время работает, потом опять те же ошибки. Я это связываю с не корректной отменой транзакции.
Размер самого большого Dbf файла не превышает 500 МБ. Общий объем базы с dbf и cdx более 4 ГБ.
Компоненту пришлось отключить!
"Компоненту пришлось отключить!"©
И помогло? ;-)
"Я это связываю с не корректной отменой транзакции."(с)
Компонента от Романа (romix) не имеет отношение к отмене транзакции.
Вы смогли устранить проблему "CodeBase Error #: -310" ?
Если не устранить эту проблему, то ошибки могут быть любые...
Опять полечил и компоненту больше не включал! Такой ошибки больше не повторялось!
CodeBase Error #: -310 была ошибка была в другой базе, в бухгалтерии 7.7, там пришлось обрезать базу, так как Dbf - файл превышал 2 ГБ.
Все запустилось и счастье где-то близко, но вернулись к проблеме "Ожидания блокировки"
Т.к. и "секретный релиз" и VK_TerminalSleep используют одну и ту же BkEnd, то либо вылетаем "Не верная версия ODBC", либо блокировки :(
Есть у кого-нибудь сборка из этих двух BkEnd в одной? или еще варианты?
АдресПолучателя = СтрЗаменить(АдресПолучателя,"<","");
АдресПолучателя = СтрЗаменить(АдресПолучателя,">","");
АдресПолучателя = СтрЗаменить(АдресПолучателя,"(","");
АдресПолучателя = СтрЗаменить(АдресПолучателя,")","");
Пока Найти(АдресПолучателя, " ") Цикл //Цикла
ПустаяМиска = Найти(АдресПолучателя, " ");
ПозГавГавки = Найти(АдресПолучателя,"@");
Гафф = ПустаяМиска - ПозГавГавки;
АдресПолучателя = Сред (АдресПолучателя, ?(Гафф>0,1,ПустаяМиска + 1),?(Гафф<0,СтрДлина(АдресПолучателя),ПустаяМиска - 1));
КонецЦикла;
для работы в 8.2 пришлось исправить:
Если НЕ Письмо.ОбратныйАдрес.Количество() Тогда
ОбратныйАдрес = Письмо.ОбратныйАдрес.Добавить();
Попытка
ЗаполнитьЗначенияСвойств(ОбратныйАдрес,Письмо.Отправитель);
Исключение
КонецПопытки;
Если ОбратныйАдрес.Кодировка = "" Тогда
ОбратныйАдрес.Кодировка = "KOI8-R";
КонецЕсли;
КонецЕсли;
перед
Почта=Новый ИнтернетПочта;
Почта.Подключиться(ИПП);
Почта.Послать(Письмо);
...
Там может быть уже это реализовано ЕМНИП, посмотрите в документацию, вроде бы Hogik встраивал то что нужно в свою DLL.
А проверить можно попыткой параллельного проведения двух доков в пустой базе, если в модуле проведения одного из них вставить Предупреждение для остановки транзакции, и следом начать проводить другой док той же базы из соседнего окна 1С. В непатченной 1С загрузка процессора возрастает до 100%, а в патченной остается близкой к нулю.
У меня одного работает отлично. Если под одним пользователем искусственно повесить при проведении, то под вторым тоже подбор работает нормально. Начинает тормозить при 30 пользователях, на поиск уходит 2-10 секунд вместо <1 секунды.
Тестировал утром, посмотрел нагрузку на процессор, на память, жесткий диск, везде всё нормально, но при этом подбор тормозит. Может есть идеи?
Скачал данный дистрибутив. Установил на своем компе: скопировал файлы odbc33.dll,odbc33.ini в папку 1cv77. Запустил patch_bkend.exe.
из папки plugin_sql_77.
При запуске 1С выдается "ошибка инициализации ODBC".
Используется 25 релиз 1С 77. win 7-64 на компе. SQL сервер 2008.
короче не работает :( .... куда копать?
Подскажите, пожалуйста, есть ли решение для Windows 2016 + SQL 2016 (2017)?
Попробовал нынешний патч (положил odbc33.* в папку 1С и заменил ODBC32.DLL -> ODBC33.DLL в файлах bkend.dll и bkend0.dll) - не помогает - ругается при запуске "Ошибка инициализации ODBC!".
Спасибо.
Нашёл решение:
Частично помогло...
По крайней мере, работа начала шевелиться.
Рейтинг: 622
Для получения уведомлений о новых публикациях автора подключите телеграм бот: Инфостарт бот
№ 15367
Создание 13.12.07 14:13
Обновление 18.08.10 14:42
Просмотры 63874
Загрузки 7911
Рейтинг
222
Комментарии 79
Код открыт Не указано
Рубрики HighLoad оптимизация
Кому
Системный администратор
,
Программист
Тип файла Компонента, плагин (dll, vbs,..)
Платформа Платформа 1С v8.3
Конфигурация Не имеет значения
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)