Слияние индекса ппд. О интересных вещах из мира IT, инструкции и рецензии

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

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

Кликнув пару раз на любое из заданий откроется окно со свойствами этого задания. Тут можно изменить множество настроек на свой вкус, включая расписание выполнения этой задачи. Для отключения задачи нужно снят флажок «Включено». Но если задача должна выполнять по расписанию крайне важно использовать отдельного пользователя с полными правами для всех фоновых задач.

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

Загрузка классификатора банков — воскресение, 4:30
Загрузка курсов валют — каждый день; 7:00
Извлечение текстов — каждый день; 6:00.
Обмен сообщениями по учетным записям документооборота — каждый день; каждые 10800 сек.
Обновление агрегатов — каждый день; с 5:00:00 один раз в день
Обновление Задач Бухгалтера — каждый день; с 6:30:00 один раз в день
Обновление индекса ППД (полнотекстового поиска) — каждый день; каждые 10800 сек.
Перестроение агрегатов — каждый день, по дням недели [суббота]; с 3:00:00 один раз в день
Пересчет текущих значений относительных дат запрета изменения — каждый день; с 7:00:00 один раз в день
Слияние индекса ППД (полнотекстового поиска) — каждый день; с 4:00:00 один раз в день
Удаление неактуальной информации синхронизации — каждый день; с 3:30:00 один раз в день
Установка периода рассчитанных итогов — каждый день, 5-го числа месяца; с 1:00:00 один раз в день

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

Это регламентное задание осуществляет загрузку классификатора банков РФ с сайта РБК. Его регулярная работа поддерживает этот классификатор в актуальном состоянии. И когда мы добавляем очередной расчетный счет – больше шансов, что банк в котором он открыт будет найден нами в классификаторе по БИК.

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

– Заполнение данных для ограничения доступа

Это регламентное задание выполняет последовательное заполнение и обновление данных, необходимых для работы подсистемы “Управления доступом” в режиме ограничения доступа на уровне записей.

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

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

Задание служебное. Не нужно включать его вручную.

– Извлечение текста

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

– Обмен сообщениями по учетным записям документооборота

Регламентное задание по автоматическому обмену с контролирующими органами. Используется при сдаче регламентированной отчетности прямо из 1С.

– Обновление агрегатов

Регламентное задание выполняет обновление агрегатов. Что это за зверь такой?

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

Ключевая фраза здесь «количество записей в регистре составляет сотни тысяч, миллионы и более», то есть для маленьких по объему регистров, включение агрегатов не имеет смысла.

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

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

Во-вторых, разрезы агрегатов могут быть произвольными (любой состав измерений регистра накопления), в отличии от итогов, которые рассчитываются по полному составу регистра.

– Обновление данных монитора руководителя

Регламентное задание вызывает обновление данных регистра сведений “ДанныеМонитораРуководителя” по всем организациям. Если монитор руководителя реально используется – задание имеет смысл.

– Обновление задач бухгалтера

Регламентное задание производит обновление и заполнение задач бухгалтера (даты сдачи различных деклараций, отчетов и тому подобное).

– Обновление индекса ППД

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

– Обновление информации о направлениях сдачи отчетности

Речь идёт об направлениях: в ФСС, в ФНС, в ПФР. Короче, что-то связанное опять же со сдачей электронной отчетности из 1С.

– Обработка заявлений абонентов на подключение электронной подписи в модели сервиса

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

– Отложенное обновление ИБ

Задание управляет процессом выполнения отложенных обработчиков обновления. Не следует включать самостоятельно.

– Отправка отчетности абонентов

Отправка регламентированной отчетности абонентов сервиса в контролирующие органы через сервис сдачи отчетности СОС “Калуга-Астрал”. Не следует включать самостоятельно.

– Очистка устаревших версий объектов

Только для служебного использования.

– Перестроение агрегатов

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

– Пересчет текущих значений относительных дат запрета изменения

Выполняет пересчет и обновление текущий значений относительных
дат запрета по состоянию на текущую дату сеанса. Не следует включать самостоятельно.

– Планирование извлечения текста в модели сервиса

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

– Получение результатов отправки отчетности

Получение результатов отправки отчетности абонентов сервиса в контролирующие органы от сервиса сдачи отчетности СОС “Калуга-Астрал”. Служебное.

– Проверка контрагентов

Для модели сервиса обновляет состояния контрагентов (всё ли у него ОК с реквизитами). Для локального режима обновляет состояния и записывает недостающие ИНН и КПП.

– Слияние индекса ППД

Выполняет слияние индексов полнотекстового поиска. Работа задания связана опять же с полнотекстовым поиском (куда же поиск без индекса).

– Удаление неактуальной информации синхронизации

Выполняет удаление информации синхронизации, которая не была удалена из-за сбоев в работе программы. Удалению подлежат файлы с датой размещения более суток.

– Удаление помеченных объектов программы

Удаляет помеченные объекты из регламентного задания.

– Установка периода рассчитанных итогов

Служебное задание, устанавливающее период рассчитанных итогов. По итоги писалось выше.

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

Начнем с реального случая. Не так давно к нам обратился один наш клиент с жалобой на "тормоза" 1С у одного из его сотрудников. Симптомы выражались в том, что через некоторый промежуток времени конфигурация Управление Торговлей 10 начинала сильно тормозить, а проще говоря подвисала на какое-то время.

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

В принципе, исходных данных уже достаточно, чтобы сделать первые выводы. Приведем их еще раз:

  • "Тормоза" происходят постоянно, с определенной периодичностью
  • "Тормозит" только у одного пользователя
  • "Тормозит" на любом рабочем месте

Чтобы подтвердить свои догадки заглянем в Настройки параметров учета :

Действительно, "проблемный" пользователь указан как пользователь для выполнения регламентных заданий. Как выяснилось, когда-то давно от имени этого пользователя работало задание автообмена РИБ. Осталось посмотреть, что именно являлось причиной эпизодического "торможения". Это тоже несложно сделать:

А вот и "виновник торжества" - задание обновления индекса полнотекстового поиска, которое запускалось один раз в 2,5 минуты. В данном случае проблема была полностью решена отключением выполнения регламентных заданий под этим пользователем, однако это не всегда возможно или целесообразно, поэтому ниже мы рассмотрим каким образом можно управлять регламентными заданиями и как сделать так, чтобы они не оказывали негативного влияния на производительность.

Обычное приложение

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

Управление многими регламентными заданиями производится через настройку связанных с ними подсистем. Например, настройки регламентных заданий, связанных с обменом данными следует искать в настройках обмена, связанные с ЕГАИС в настройках торговлей алкоголем и т.д.

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

В этом случае следует воспользоваться внешней обработкой КонсольЗаданий (JobsConsole ), которая входит в набор стандартных обработок на диске ИТС. Обработка предоставляет единый интерфейс для всех заданий и позволяет выполнять их централизованную настройку, а также контролировать выполняющиеся в текущее время задания.

Данный список нужно тщательно изучить, все ненужные задания следует отключить, а у нужных привести расписание в соответствие с насущными потребностями и здравым смыслом. Например, в нашем случае, нет никакой необходимости обрабатывать ответы ЕГАИС раз в 30 секунд (эта настройка сделана для тестирования) и в рабочем режиме вполне достаточно будет делать это скажем раз в полчаса.

Управляемое приложение

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

Для управления регламентными заданиями предназначен отельный пункт в меню Администрирование - Поддержка и обслуживание .

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

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

Отдельное внимание следует уделить всему, что связано с поисковым индексом. Полнотекстовый поиск безусловно удобная вещь, но работа с его индексом является весьма и весьма ресурсоемкой задачей. Поэтому не стоит впадать в крайность и отказываться от него, но следует серьезно пересмотреть и настроить его параметры.

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

Обновление индекса ППД - одна из самых ресурсоемких операций, по умолчанию выполняется раз в минуту.

А теперь подумаем, как часто в базе добавляется либо обновляется информация, по которой вы наиболее часто проводите поиск? Явно не каждую минуту, поэтому вполне достаточно будет обновлять индекс гораздо реже: раз час, раз в день или вообще раз в неделю.

Тоже самое относится и к слиянию индекса ППД , если вы обновляете индекс раз в день, то следует настроить слияние на выполнение раз в неделю, при этом выбрав в качестве начала задания наименее мешающее работе время.

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

  • Теги:

Please enable JavaScript to view the

Вопрос: Перестроение Индекса для 1С


Добрый день, есть база УПП на SQL 2014, стоят регламентные задания:
1)
2)
Работало все вначале отлично, ничего не тормозило, прошло полтора месяца и начались тормоза. переустанавливал 1С, SQL, 1С сервер в надежде, что что-то неправильно настроил, но косяк остался. Глянул в отчет

вижу фрагментацию, некакими перестроениями и реорганизацией индекса она не проходит. Есть ли какие-либо способы восстановить нормальную работу и избавиться от фрагментации?
(Может это вообще фигня, которая не влияет на тормоза?)

Ответ: ()

Вопрос: SQL и фрагментация индексов


При сборе статистки показывает что больше сотни индексов требуют перестроение их фрагментация свыше 50% но после перестроения индексов фрагментация остается такая же что можно предпринять?

Ответ: Хорошо спасибо учту

Вопрос: Последствия удаления индекса


Доброе время суток. Имеется БД 1С в SQL-формате, на которой нужно сделать ТИИ, которое не делается, выдавая такие ошибки:

Я не могу определить с какими данными в 1С связаны вышеуказанные таблицы. Что может быть плохого если я удалю вышеуказанные индексы через drop index ?

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

Вопрос: Как правильно настроить регламентные "Обновление индекса ППД" и "Слияние индекса ППД" (Прочитано 19


Как правильно настроить регламентные "Обновление индекса ППД" и "Слияние индекса ППД"?
Размер базы 160 ГБ. Сейчас настроены. Каждый час оба. Уместно ли установка "Обновление индекса ППД" раз в час, а "Слияние индекса ППД" один раз ночью?
Оно успеет произвести слияние его ночью?

Ответ:

Вопрос снят. Регламентное обновляло индекс порциями. По 10 000 записей. Свою работу оно сделало 10 000 обновило. Но оказалось больше чем 10 000 вот и получилось что индекс все таки не актуален.

Вопрос: Вопросы про индексы в 1с


В каких случаях их лучше использовать? на сколько может распухнуть база при частом их использовании? в чем разница: индексы и индексы с доп. упорядочиванием.
Можно так же ссылки на нормальные примеры.
Спасибо.

Ответ: () Индексы могут быть и больше размера данных:)
() Как мне кажется размер индексов не самый главный их минус, тут важнее, что при "лишних" индексах идут "лишние" издержки при записи. ИМХО.
Но при больших(сотни-тысячи гб) базах, конечно уже и на размер смотреть нужно:)

Общий принцип - если по этому полю будут отборы - индексируем, не будут - не индексируем. Если по полю отбор нужен, но количество строк мало - не нужен индекс. Если по полю отбор нужен, но под него подходит почти вся таблица - не нужен индекс. ИМХО.

Вопрос: Индексы таблицы значений


Добрый день.
Есть форма с таблицей значений. По кнопке в эту таблицу импортируются данные из excel.
При первом открытии формы и нажатии на кнопку загрузилось например 10 строк. Для каждой строки автоматически проставились индексы от 0 до 9. При повторной загрузке (без закрытия формы) я очищаю таблицу и добавляю в нее еще например 5 строк. Индексы продолжают нумерацию и будут равны 10-14. Как обнулить счетчик индексов и запустить его заново?
Спасибо

Ответ:

Вы были правы. Я не так искал. Был уверен что индексы и идентификаторы это одно и то же. Вопрос закрыт. Огромное спасибо за помощь

Вопрос: Обращение к элементу ТЧ по индексу


Задали учебную задачу произвести сортировку ТЧ документа не встроенной функцией, а вручную по алгоритму какому-нибудь.
Меня интересует, можно ли обратиться к элементу ТЧ по индексу?

Ответ: С табличной частью тот же смысл.
Копипаста из СП:

Табличная часть (Tabular section)
Элементы коллекции:

Строка табличной части
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора [...]. В качестве аргумента передается индекс строки (нумерация с 0).

Вопрос: после обновления платформы заглючили рег задания обновление индекса поиска


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

выяснил, что во всем виновато рег задание "обновление индекса полнотекстового поиска", пока его отключил...

при этом на типовых бухах - вроде проблема не появляется

вопросы
1. у кого еще такая проблема появляется?
2. как искать детальную причину (включать рег задания на продакте не хочется а на тестовом нельзя)
3. что делать

Ответ: Я ненастоящий сварщик, но на тестовой базе отключил бы все рег задания, кроме "обновление индекса полнотекстового поиска" и наблюдал бы за ним через тех.журнал.

Вопрос: Спецам по SQL - как влияют общие реквизиты на статистику по индексам?


Вопрос: Насколько трудоемко будет вырезать из конфигурации общие реквизиты разделения данных? Стоит вообще этим заниматься?
БСП смотрел, в целом похоже, что там не очень много мест, но времени на глубокое изучение не было.
А теперь – о причинах, почему меня это интересует.
База БП 3.0, размер примерно 1 ТБ, из них 200 ГБ – это таблицы регистра бухгалтерии, записей от 50 до 250 млн. В таблицах на сервере поле ОбластьДанныхОсновныеДанные имеет тип Numeric(7,0), поэтому глобально я места не сэкономлю (примерно 9 ГБ приходится сейчас на это поле).
Основная цель – немного ускорить работу с базой, за счет:
*уменьшения размеров таблиц и индексов; *ускорения выборки за счет уменьшения размера строки данных (и индексов) и более точных планов запросов; *ускорения команды ‘update statistics’; *уменьшения затрат на ведение колоночной статистики (может быть по некоторым полям ее вообще на надо будет вести отдельно, т.к. это поле окажется самым левым в индексе).
Небольшое ускорение операции с одной строкой в пересчете на миллионы строк дает значительную экономию времени. А в пересчете на год – еще больше, поэтому мне кажется, что цель оправдана.

И немного теории, на которой я основываюсь.
Общеизвестный факт, что MSSQL создает статистику только по самой левой колонке индекса и хранит там 200 интервалов распределения значений.
В индексах типовой бухгалтерии 3.0 левой колонкой идет "ОбластьДанныхОсновныеДанные", тип Число. Если разделение не используется, то в этом поле везде ноль. Ниже – пример такого индекса (регистр бухгалтерии). 49 млн записей, все собрались в одной строке гистограммы.

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

Например, по регистратору

или

Зачем разработчику 1С «индексировать» измерения регистров и реквизиты?

— Ну у вас и запросы! — сказала база данных и повисла…

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

Что такое индекс?

Оптимизация размещения индексов

При объеме таблиц не позволяющем им «разместиться» в оперативной памяти сервера, на первое место выходит скорость дисковой подсистемы (I/O). И здесь можно обратить внимание возможность размещать индексы в отдельных файлах расположенных на разных жестких дисках .

Подробное описание действий http ://technet .microsoft .com /ru -ru /library /ms 175905.aspx
Использование индекса из другой файловой группы повышает производительность некластерных индексов в связи с параллельностью выполнения процессов ввода/вывода и работы с самим индексом.
Для определения размеров можно использовать выше упомянутую обработку.

Влияние индексов на блокировки

Отсутствие необходимого индекса для запроса означает перебор всех записей таблицы, что в свою очередь приводит к избыточным блокировкам, т.е. блокируются лишние записи. Кроме того, чем дольше выполняется запрос из-за отсутствующих индексов, тем больше время удержания блокировок.
Другая причина блокировок — малое количество записей в таблицах. В связи с этим SQL Server, при выборе плана выполнения запроса, не использует индексы, а обходит всю таблицу(Table Scan), блокируя целиком. Для того, чтобы избежать подобных блокировок, необходимо увеличить количество записей в таблицах до 1500-2000. В этом случае сканирование таблицы становится долее дорогостоящей операцией и SQL Server начинает использовать индексы. Конечно это можно сделать не всегда, ряд справочников как «Организации», «Склады», «Подразделения» и т.п. обычно имеют мало записей. В этих случаях индексирование не будет улучшать работу.

Эффективность индексов

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

  • Запросы, которые указывают «узкие» критерии поиска. Такие запросы должны считывать лишь небольшое число строк, отвечающих определенным критериям.
  • Запросы, которые указывают диапазон значений. Эти запросы также должны считывать небольшое количество строк.
  • Поиск, который используется в операциях связывания. Колонки, которые часто используются как ключи связывания, прекрасно подходят для индексов.
  • Поиск, при котором данные считываются в определенном порядке. Если результирующий набор данных должен быть отсортирован в порядке кластеризованного индекса, то сортировка не нужна, поскольку результирующий набор данных уже заранее отсортирован. Например, если кластеризованный индекс создан по колонкам lastname (фамилия), firstname (имя), а для приложения требуется сортировка по фамилии и затем по имени, то здесь нет необходимости добавлять инструкцию ORDER BY.

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

Покрывающим (для данного запроса), называется индекс в котором есть все необходимые поля для этого запроса. Например, если индекс создан по колонкам a, b и c, а оператор SELECT запрашивает данные только из этих колонок, то требуется доступ только к индексу.

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

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: