|   |   | 
| 
 | Старая КА 1.0 начала зависать при запросе к регистру ценАТТ. | ☑ | ||
|---|---|---|---|---|
| 0
    
        citrus 17.04.24✎ 22:10 | 
        Всем доброй ночи.
 База 800 гб КА 1.0 релиз от 2010 года. Пиленая. Проблема при массовой проведении ООрП начала зависать на простом запросе к регистру цен АТТ, это один из запросов в модуле проведения документа. Модуль типовой. Причем виснет не стабильно, то нормально запрос проходит то зависает. В SQL нашел отчетом "Самые продолжительные транзакции" вот такой запрос https://disk.yandex.ru/d/ZuuajG4eW-p4nw Вижу что таблица InfoRg19056 как Р/С Цены АТТ. В чем может быть дело как продиагностировать проблему? | |||
| 1
    
        breezee 18.04.24✎ 04:27 | 
        (0) Попробуйте трассировку. Возможно надо кэш запросов почистить. Попробуйте удалить позиции которые не нужные уже и цены по ним     | |||
| 2
    
        rphosts 18.04.24✎ 06:01 | 
        >от 2010 года. Пиленая.... Проблема при массовой проведении
 СУБД предлагается угадать? База обслуживается? Чарли, что с блокировками, что с длительными запросами согласно ТЖ? | |||
| 3
    
        StarPer 18.04.24✎ 06:03 | 
        (0) Размер таблицы регистра и его фрагментация?     | |||
| 4
    
        rphosts 18.04.24✎ 07:01 | 
        (3) фрагментация индексов ничем не лучше... и это всё про обслуживание     | |||
| 5
    
        citrus 18.04.24✎ 10:59 | 
        (1) как почистить КЭШ запросов? это же не пользовательский и не серверный кэш?     | |||
| 6
    
        citrus 18.04.24✎ 11:03 | 
        (2) СУБД MS SQL 2012  https://disk.yandex.ru/d/ieG5oQJRyQ3mbQ
 "База обслуживается?" - да, админ делает планы по обновлению статистики, дефрагментации (вроде ) и т.д. база без свертки работает с 2019 года. и проблемы начались года 2 назад и шли по нарастающей. сейчас сильно начали проявляться. ТЖ еще не настроил. Но блокировки идут по регистру Цены АТТ скрин с отчетом из СУБД в первом скрине. | |||
| 7
    
        citrus 18.04.24✎ 11:04 | 
        (3)  размер: строк  16 364 961
 размер 4,9 гб данные 1,6 гб индексы 3.2 гб | |||
| 8
    
        Altone 18.04.24✎ 12:51 | 
        база растёт, тормоза будут накапливаться, сейчас 800GБ , скоро станет пара терабайт, всё встанет колом. а какой выход?
 свёртка базы и переход на КА2 , либо пустую КА1. не может база расти бесконечно, и при этом летать. особенно это касается старой платформы, либо новой с установленной совместимостью со старой версией. | |||
| 9
    
        StarPer 18.04.24✎ 13:13 | 
        (7) 16 млн строк многовато. Обрезать регистр надо, ИМХО.     | |||
| 10
    
        citrus 18.04.24✎ 13:19 | 
        (9) это не самый большой регистр
 Например РегистрНакопления.ТоварыВРознице AccumRg20853 строк 131 007 957 объем 31 916 мб РегистрНакопления.Продажи AccumRgTn20583 строк 115 264 130 объем 196 505 мб надо сворачивать | |||
| 11
    
        StarPer 18.04.24✎ 13:22 | 
        (10) Как посмотреть. В (7) Гб, а в (10) Мб.
 Вот может это для Вас: https://infostart.ru/marketplace/292573/ | |||
| 12
    
        StarPer 18.04.24✎ 13:23 | 
        (10) Ну и степень фрагментации таблицы не озвучена.     | |||
| 13
    
        citrus 18.04.24✎ 13:47 | 
        (12) новая вводная . Админ сказал что дефрагментация не делается и реиндексация тоже, только обновление статистики. И я понял это уже давно так.
 А не делается потому что это занимает несколько часов, а техокна такого нет. На сколько это может влиять на мою проблему? | |||
| 14
    
        citrus 18.04.24✎ 13:50 | 
        (11) это давно решено. У нас в ПТиУ есть механизм авторасчета наценок для всех форматов магазинов+ автоматическое формирование Установки цен и переоценок по всем магазинам и складам. 
 Отчасти этот механизм добавил объема в этот регистр. | |||
| 15
    
        arsik гуру 18.04.24✎ 13:56 | 
        Ой, нахрена вам цены с 10 года. Сделайте срез на начало года. Внесите в регистр, а все остальное отдайте сирым и убогим.
 (12) и для каких целей техноокно нужно. Ну будет у вас пару раз в месяц ночью чуть медленнее работать 1с. Ну и для ускорения можно же только эту таблицу обработать, а не всю базу | |||
| 16
    
        citrus 18.04.24✎ 14:04 | 
        (15)я выше написал что "база без свертки работает с 2019 года"
 мы ее резали 2 раза уже в 2014 и в 2019 сейчас уже 5.5 лет без свертки летим. | |||
| 17
    
        StarPer 18.04.24✎ 14:07 | 
        (13) Попросите сисадмина выполнить запрос на сервере:
 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // запрос для определения степени фрагментации индексов текущей базы (быстрый), первые 100 по степени фрагментации (убывание) USE NAME_DB GO SELECT TOP 100 DatbaseName = DB_NAME(), TableName = OBJECT_NAME(s.[object_id]), IndexName = i.name, i.type_desc, [Fragmentation %] = ROUND(avg_fragmentation_in_percent,2), page_count, partition_number, 'alter index [' + i.name + '] on [' + sh.name + '].['+ OBJECT_NAME(s.[object_id]) + '] REBUILD' + case when p.data_space_id is not null then ' PARTITION = '+convert(varchar(100),partition_number) else '' end + ' with(maxdop = 4, SORT_IN_TEMPDB = on)' [sql] FROM sys.dm_db_index_physical_stats(db_id(),null, null, null, null) s INNER JOIN sys.indexes as i ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id left join sys.partition_schemes as p on i.data_space_id = p.data_space_id left join sys.objects o on s.[object_id] = o.[object_id] left join sys.schemas as sh on sh.[schema_id] = o.[schema_id] WHERE s.database_id = DB_ID() AND i.name IS NOT NULL AND OBJECTPROPERTY(s.[object_id], 'IsMsShipped') = 0 and page_count > 100 and avg_fragmentation_in_percent > 10 ORDER BY avg_fragmentation_in_percent desc | |||
| 18
    
        arsik гуру 18.04.24✎ 14:25 | 
        (16) Так не обязательно всю базу сворачивать. Можно только регистр цены резануть.     | |||
| 19
    
        citrus 18.04.24✎ 14:41 | 
        (18) согласен, но у нас и партии уже моросят и Р/С списанные товары.     | |||
| 20
    
        citrus 18.04.24✎ 14:41 | 
        так же отключил версионирование, чтобы поднять скорость.
 просится общая свертка | |||
| 21
    
        citrus 18.04.24✎ 14:43 | 
        (17) запустил. SQL задумался. сколько может висеть?     | |||
| 22
    
        citrus 18.04.24✎ 14:53 | 
        (17) Спасибо. запрос показал большое количество дефрагментированных таблиц.
 https://disk.yandex.ru/d/iZI-4Sv6cciH7A | |||
| 23
    
        StarPer 18.04.24✎ 14:53 | 
        (21) можно
 SELECT TOP 50 или SELECT TOP 20 попробовать, если быстро хочется. | |||
| 24
    
        citrus 18.04.24✎ 14:58 | 
        спасибо всем.
 будем делать свертку. и админу тоже на подумать почву дали. | |||
| 25
    
        StarPer 18.04.24✎ 14:59 | 
        Среди "лидеров" по фрагментации Вашей таблицы не вижу.
 Скорее всего в данном случае размер имеет значение. Обрезание, однозначно. Но дефрагментацию и реорганизацию надо однозначно настраивать. База-то не маленькая, обслуживание для нее жизненно необходимо. | |||
| 26
    
        MaximSh 18.04.24✎ 15:00 | 
        (22) это ерунда, таблицы маленькие и индексы маленькие. Количество страниц page_count мало, 1 страница 8 Kb. Поставь  page_count > 10000     | |||
| 27
    
        MaximSh 18.04.24✎ 15:01 | 
        (0) покажи этот "простой запрос" в виде запроса 1С     | |||
| 28
    
        citrus 18.04.24✎ 15:46 | 
        (27)
 Функция СформироватьЗапросПоПродажнымЦенам(ДатаЦен, СписокСкладов, СписокНоменклатуры) Экспорт Запрос = Новый Запрос; Запрос.УстановитьПараметр("Дата", ДатаЦен); Запрос.УстановитьПараметр("СписокСкладов", СписокСкладов); Запрос.УстановитьПараметр("СписокНоменклатуры", СписокНоменклатуры); ТекстЗапроса = " |ВЫБРАТЬ | ЦеныПродажные.Склад КАК Склад, | ЦеныПродажные.Номенклатура КАК Номенклатура, | ЦеныПродажные.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | ЦеныПродажные.Цена КАК Цена |ИЗ | РегистрСведений.ЦеныАТТ.СрезПоследних(&Дата, Склад В (&СписокСкладов) | И Номенклатура В (&СписокНоменклатуры)) КАК ЦеныПродажные |"; Запрос.Текст = ТекстЗапроса; Возврат Запрос.Выполнить(); КонецФункции // СформироватьЗапросПоПродажнымЦенам() | |||
| 29
    
        citrus 18.04.24✎ 15:47 | 
        (25) согласен. спасибо, коллеги!     | |||
| 30
    
        Maestro2020 18.04.24✎ 15:55 | 
        Сталкивался на практике -база примерно терабайт. MS SQL стал "резко" тормозить запросах к регистрам, где был составной тип данных.     | |||
| 31
    
        rphosts 19.04.24✎ 07:19 | 
        (6) вроде... хочешь что-то сделать хорошо - сделай сам! сделай для начала принудительную реиндексацию всей базы + собери полностью статистику (по 100% данных), сбрось процедурный кэш (первые полчаса будет слегка притормаживать но потом стабилизируется).     | |||
| 32
    
        rphosts 19.04.24✎ 07:21 | 
        (30) зависит о того сколько типов в составе... ну и да, от запроса зависит     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |