Добрый день! После установки обновления с версии 3.0.79.21 до версии 3.0.83.25 появились жуткие тормоза в работе программы - счета выставляются по минуте, добавление товара в номенклатуру - полторы минуты, раннее делалось за секунды. Версия платформы 8.3.17.1549. Процессор Core - i5 4590, ОЗУ 16 Гб, windows server 2016, RDP. До обновления проблем не наблюдалось. Откатить уже затруднительно так как неделю проработали. База файловая.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8) Пробовал перекладывать на другой диск (на еще один отдельный SSD где ЗУП стоит) - не помогло. Делал экспорт в .dt и потом импорт в чистую базу - не помогло. Какой - то косяк, счета делаются всеравно по минуте и новая номенклатура создается также по минуте.
(9)
То есть "тормоза" не со всей конфигурацией, а только с номенклатурой. (В счете - ведь она же).
Я бы сделал в конфигураторе "замер производительности". И посмотрел "где тормоз" - для сужения проблемы.
(Можно сравнить скорость выполнения процедур с копией до обновления).
Возможно станет понятно при каких операциях с базой "тормозит". Уж тогда думать как исправить (добавить/убрать индексы и пр.)
Какой - то косяк, счета делаются всеравно по минуте и новая номенклатура создается также по минуте.
То есть "тормоза" не со всей конфигурацией, а только с номенклатурой. (В счете - ведь она же).
Я бы сделал в конфигураторе "замер производительности". И посмотрел "где тормоз" - для сужения проблемы.
(Можно сравнить скорость выполнения процедур с копией до обновления).
Возможно станет понятно при каких операциях с базой "тормозит". Уж тогда думать как исправить (добавить/убрать индексы и пр.)
Замер производительности .
Затупок именно на той странице что на скрине (+ на выставлении счетов, но я не бухгалтер, туда не лезу)
При добавлении номенклатуры показывает что сейчас выполняется 0 запросов, при этом просто колесико крутит полторы минуты.
Затупок именно на той странице что на скрине (+ на выставлении счетов, но я не бухгалтер, туда не лезу)
При добавлении номенклатуры показывает что сейчас выполняется 0 запросов, при этом просто колесико крутит полторы минуты.
Прикрепленные файлы:
Посмотрел в демо 3.0.83.25. В самом запросе вроде бы ничего криминального. На файловой выполняется мгновенно:
Мне кажется проблема не на стороне 1С. А еще странно, что номера строк отличаются.
Запрос.Текст |
---|
ВЫБРАТЬ
ТаблицаПроверкиСлов.Слово КАК Слово,
ТаблицаПроверкиСлов.ХешНаименования КАК ХешНаименования,
ТаблицаПроверкиСлов.СсылкаНаОбъект КАК СсылкаНаОбъект,
ТаблицаПроверкиСлов.ХешСлова КАК ХешСлова,
ТаблицаПроверкиСлов.ЭтоНаименование КАК ЭтоНаименование,
ТаблицаПроверкиСлов.ПорядокСлов КАК ПорядокСлов
ПОМЕСТИТЬ ТаблицаОтобранныхСлов
ИЗ
&ТаблицаПроверкиСлов КАК ТаблицаПроверкиСлов
ИНДЕКСИРОВАТЬ ПО
ХешСлова,
СсылкаНаОбъект
;
//////////////////////////////////////////////////////////// Показать |
Мне кажется проблема не на стороне 1С. А еще странно, что номера строк отличаются.
Прикрепленные файлы:
у меня так, строки с 25106 по 25191, я так понимаю в этой функции затык.
Функция ИсключитьИзТаблицыСловНезначимые(ТаблицаСлов, ТипОбъекта, Знач ИсключитьНезначимыеСловаИБ = Истина, Знач ПроверитьИзменениеСлов = Ложь)
Если ТаблицаСлов.Колонки.Найти("СсылкаНаОбъект") <> Неопределено Тогда
ПолеГруппировки = "СсылкаНаОбъект";
ИначеЕсли ТаблицаСлов.Колонки.Найти("Идентификатор") <> Неопределено Тогда
ПолеГруппировки = "Идентификатор";
Иначе
Возврат Неопределено;
КонецЕсли;
СписокИсключенийСловМеньше3Букв = СловаИсключенияМеньше3Букв();
СписокИсключенийНезначимыхСлов = ИсключенияНезначимыхСлов();
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТаблицаПроверкиСлов" , ТаблицаСлов);
Запрос.УстановитьПараметр("СписокИсключенийНезначимыхСлов" , СписокИсключенийНезначимыхСлов);
Запрос.УстановитьПараметр("СписокИсключенийСловМеньше3Букв", СписокИсключенийСловМеньше3Букв);
Запрос.Текст = "ВЫБРАТЬ
| ТаблицаПроверкиСлов.Слово КАК Слово,
| ТаблицаПроверкиСлов.СловоИзЛатиницы КАК СловоИзЛатиницы,
| ТаблицаПроверкиСлов.СловоЧисло КАК СловоЧисло,
| ТаблицаПроверкиСлов.ДлинаСлова КАК ДлинаСлова,
| ТаблицаПроверкиСлов.ХешНаименования КАК ХешНаименования,
| ТаблицаПроверкиСлов.&ПолеГруппировки КАК &ПолеГруппировки,
| ТаблицаПроверкиСлов.ЭтоНаименование КАК ЭтоНаименование
|ПОМЕСТИТЬ СписокСлов
|ИЗ
| &ТаблицаПроверкиСлов КАК ТаблицаПроверкиСлов
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| СписокСлов.ХешНаименования КАК ХешНаименования,
| СписокСлов.&ПолеГруппировки КАК &ПолеГруппировки,
| СписокСлов.ЭтоНаименование КАК ЭтоНаименование,
| СписокСлов.Слово КАК Слово
|ИЗ
| СписокСлов КАК СписокСлов
|ГДЕ
| НЕ СписокСлов.Слово В (&СписокИсключенийНезначимыхСлов)
| И (СписокСлов.ДлинаСлова > 2
| ИЛИ СписокСлов.Слово В (&СписокИсключенийСловМеньше3Букв)
| ИЛИ СписокСлов.СловоЧисло
| ИЛИ СписокСлов.СловоИзЛатиницы)
|ИТОГИ ПО
| &ПолеГруппировки";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ПолеГруппировки", ПолеГруппировки);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат Неопределено;
КонецЕсли;
ОтфильтрованнаяТаблицаСлов = ТаблицаСлов.СкопироватьКолонки("Слово, ХешНаименования, ЭтоНаименование, " + ПолеГруппировки + "");
ОтфильтрованнаяТаблицаСлов.Колонки.Добавить("ХешСлова", Новый ОписаниеТипов("Число", , Новый КвалификаторыЧисла(20)));
ОтфильтрованнаяТаблицаСлов.Колонки.Добавить("ПорядокСлов", Новый ОписаниеТипов("Число", , Новый КвалификаторыЧисла(4)));
ВыборкаГруппировки = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаГруппировки.Следующий() Цикл
ПорядокСлов = 1;
Выборка = ВыборкаГруппировки.Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = ОтфильтрованнаяТаблицаСлов.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
НоваяСтрока.ХешСлова = Хеш_MD5_64(Выборка.Слово);
НоваяСтрока.ПорядокСлов = ПорядокСлов;
ПорядокСлов = ПорядокСлов + 1;
КонецЦикла;
КонецЦикла;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТаблицаПроверкиСлов", ОтфильтрованнаяТаблицаСлов);
Запрос.УстановитьПараметр("ТипОбъекта", ТипОбъекта);
Запрос.Текст = ТекстЗапросаПроверкиСловПоСтатистикиИспользованияВСловаре(ПроверитьИзменениеСлов, ПолеГруппировки, ИсключитьНезначимыеСловаИБ);
Если ПроверитьИзменениеСлов Тогда
Возврат Запрос.ВыполнитьПакет(); // это строка 25188 с затыком
Иначе
Возврат Запрос.Выполнить();
КонецЕсли;
КонецФункции
Показать
Еще раз сделал тестирование и исправление (без реструктуризации), отключил полнотекстовый поиск - результат налицо, хотя всеравно проблема есть, но не так уже заметно. Также в режимах электропитания сервера поставил "максимальная производительность", стоял "сбалансированный". Зависон при запросе в этот словарь СловарьСопоставленияНоменклатурыБЭД Конфа от базовой (сравнивал с чистой базой совей версии) различаются немного, может быть потому что установлен модуль "контур диадок"? Вообще этот диадок может нагадить в базе?
Прикрепленные файлы:
У меня тоже самое, виснет на 30 секунд на выполнении запроса
в функции ИсключитьИзТаблицыСловНезначимые
при любом обновлении элемента номенклатуры.
Конфигурация Бухгалтерия предприятия, редакция 3.0 (3.0.82.24)
Платформа 1С:Предприятие 8.3 (8.3.18.1128)
База файловая, файл весит в районе 11гб.
Проявилось после обновления.
IIITbIK, удалось решить проблему?
Запрос.Текст = ТекстЗапросаПроверкиСловПоСтатистикиИспользованияВСловаре(ПроверитьИзменениеСлов, ПолеГруппировки, ИсключитьНезначимыеСловаИБ);
в функции ИсключитьИзТаблицыСловНезначимые
при любом обновлении элемента номенклатуры.
Конфигурация Бухгалтерия предприятия, редакция 3.0 (3.0.82.24)
Платформа 1С:Предприятие 8.3 (8.3.18.1128)
База файловая, файл весит в районе 11гб.
Проявилось после обновления.
IIITbIK, удалось решить проблему?
Выясненные к текущему моменту подробности:
1. На версиях 3,0,82,24 и 3,0,80,40 проблема проявляется, на более ранней 3,0,78,69 - нет. На 3,0,80,40 я перешел в начале октября, с тех пор наработано достаточно много, откатиться до бэкапа и всё восстановить - очень трудоемкая задача.
2. При проявляющейся на версиях 3,0,82,24 и 3,0,80,40 проблеме обновиться до текущей 3,0,84,35 фактически не получается, т.к. при обновлении виснет на 94% (видимо реструктуризирует справочник номенклатуры), пытается обновиться уже вторые сутки, пока не прерывал. В справочнике номенклатуры около 200 тыс. записей, если на каждый элемент по 30 сек., то это больше 2 мес. непрерывной работы, тоже не вариант.
Есть у кого мыли куда копать?
1. На версиях 3,0,82,24 и 3,0,80,40 проблема проявляется, на более ранней 3,0,78,69 - нет. На 3,0,80,40 я перешел в начале октября, с тех пор наработано достаточно много, откатиться до бэкапа и всё восстановить - очень трудоемкая задача.
2. При проявляющейся на версиях 3,0,82,24 и 3,0,80,40 проблеме обновиться до текущей 3,0,84,35 фактически не получается, т.к. при обновлении виснет на 94% (видимо реструктуризирует справочник номенклатуры), пытается обновиться уже вторые сутки, пока не прерывал. В справочнике номенклатуры около 200 тыс. записей, если на каждый элемент по 30 сек., то это больше 2 мес. непрерывной работы, тоже не вариант.
Есть у кого мыли куда копать?
А у меня по сети, дело тут не в аппаратной части, не в организации сети, а в изменениях в структуре базы сделанных примерно в версии 3.0.80.
Я взял свой октябрьский бэкап с версией 3.0.78.69. В нем со скоростью обновления номенклатуры всё хорошо. Обновляю его до 3.0.80.40. ... и начинаются тормоза.
Я взял свой октябрьский бэкап с версией 3.0.78.69. В нем со скоростью обновления номенклатуры всё хорошо. Обновляю его до 3.0.80.40. ... и начинаются тормоза.
Пока для себя вижу только один вариант:
Из текущей актуальной но тормозящей базы экспортировать все документы за 3 квартал в xml. Взять исправно работающий бэкап на версии 3.0.78.69 и импортировать всё в него. Версию больше пока не обновлять.
Из текущей актуальной но тормозящей базы экспортировать все документы за 3 квартал в xml. Взять исправно работающий бэкап на версии 3.0.78.69 и импортировать всё в него. Версию больше пока не обновлять.
Это какие-то странные приколы с выполнением запроса в файловых базах.
Исправляемая процедура, в более старых конфах
ОбменСКонтрагентамиСлужебный.ТекстЗапросаПроверкиСловПоСтатистикиИспользованияВСловаре
в более новых (начиная, кажется, с 3.0.89)
СопоставлениеНоменклатурыКонтрагентовСлужебный.ТекстЗапросаПроверкиСловПоСтатистикиИспользованияВСловаре
Для починки я исправил запрос следующим образом:
// >>>
//| И ИСТИНА В
//| (ВЫБРАТЬ ПЕРВЫЕ 1
//| ИСТИНА
//| ИЗ
//| ТаблицаОтобранныхСлов КАК ТаблицаОтобранныхСлов
//| ГДЕ
//| ТаблицаОтобранныхСлов.СсылкаНаОбъект = СловарьСопоставленияНоменклатурыБЭД.СсылкаНаОбъект)
| И СловарьСопоставленияНоменклатурыБЭД.СсылкаНаОбъект В
|(Выбрать ТаблицаОтобранныхСлов.СсылкаНаОбъект из ТаблицаОтобранныхСлов)
// <<<
Исправляемая процедура, в более старых конфах
ОбменСКонтрагентамиСлужебный.ТекстЗапросаПроверкиСловПоСтатистикиИспользованияВСловаре
в более новых (начиная, кажется, с 3.0.89)
СопоставлениеНоменклатурыКонтрагентовСлужебный.ТекстЗапросаПроверкиСловПоСтатистикиИспользованияВСловаре
Для починки я исправил запрос следующим образом:
// >>>
//| И ИСТИНА В
//| (ВЫБРАТЬ ПЕРВЫЕ 1
//| ИСТИНА
//| ИЗ
//| ТаблицаОтобранныхСлов КАК ТаблицаОтобранныхСлов
//| ГДЕ
//| ТаблицаОтобранныхСлов.СсылкаНаОбъект = СловарьСопоставленияНоменклатурыБЭД.СсылкаНаОбъект)
| И СловарьСопоставленияНоменклатурыБЭД.СсылкаНаОбъект В
|(Выбрать ТаблицаОтобранныхСлов.СсылкаНаОбъект из ТаблицаОтобранныхСлов)
// <<<
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот