Как найти компетентного исполнителя для аудита 1С и самостоятельно оптимизировать УТ 11.4?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Рано или поздно любая компания, использующая высоконагруженные базы данных на платформе 1С, сталкивается с проблемой падения производительности. Особенно критично это проявляется в конфигурации «1С:Управление торговлей» (УТ 11.4), где менеджеры оформляют сотни заказов в день, а фоновые расчеты себестоимости и интеграции с сайтами создают колоссальную нагрузку на серверную инфраструктуру.

Когда база начинает «тормозить», перед руководством встает дилемма: нанять дорогостоящих внешних аудиторов (стоимость услуг которых начинается от 100 000 рублей за базовый анализ одной СУБД), рискнуть и довериться фрилансерам без гарантий результата или попытаться локализовать проблему своими силами. В этой статье мы подробно разберем, как устроен рынок профессионального ИТ-аудита 1С, как правильно выбрать надежного подрядчика и какие шаги можно предпринять самостоятельно для ускорения вашей УТ 11.4.

Где искать компетентные компании: Реестр ЦКТП

Поиск надежного ИТ-партнера на открытом рынке часто похож на лотерею. Чтобы обезопасить крупных заказчиков, фирма «1С» создала официальный реестр — Центры корпоративной технологической поддержки (ЦКТП). Это сертифицированные компании-партнеры, которые доказали свою квалификацию в решении сложнейших технологических проблем на крупных внедрениях.

Обращение к списку ЦКТП гарантирует, что решать ваши проблемы будут сертифицированные 1С:Эксперты по технологическим вопросам. Среди наиболее авторитетных игроков на рынке оптимизации производительности выделим следующие компании:

Почему профессиональный технический аудит стоит дорого?

Многие заказчики удивляются начальной стоимости аудита в 100 000 – 200 000 рублей, считая эту цену завышенной. Однако разберем по шагам, что входит в эту стоимость и почему качественная диагностика не может стоить дешево:

  1. Работа редких специалистов: статус «1С:Эксперт по технологическим вопросам» требует глубоких знаний сетевых протоколов, внутреннего устройства платформы, оптимизации запросов СУБД (MS SQL, PostgreSQL), администрирования операционных систем Linux и Windows. Ставка часа такого эксперта на рынке чрезвычайно высока.
  2. Сбор и анализ технологического журнала (ТЖ): эксперты не просто смотрят в монитор, они разворачивают специализированные инструменты мониторинга, собирают логи ТЖ платформы за несколько дней работы компании в пиковые часы и выявляют конкретные «узкие места» в кодовой базе.
  3. Анализ взаимных блокировок СУБД: локализуются процессы, которые мешают параллельной работе сотен пользователей (когда проведение документа одним менеджером блокирует запись документов другими сотрудниками).
  4. Результат аудита — руководство к действию: на выходе заказчик получает не просто констатацию факта «все плохо», а подробный технический отчет с указанием конкретных строк неоптимального кода, неправильных настроек СУБД и рекомендаций по модернизации серверного оборудования.

Методология APDEX: Как измерить скорость работы объективно

Перед тем как приступать к любым работам по оптимизации, необходимо зафиксировать текущую скорость работы. Субъективные оценки пользователей типа «вчера база летала, а сегодня всё зависло» не подходят для технического анализа. Рассмотрим международный стандарт Apdex (Application Performance Index), который активно применяется в экосистеме 1С для объективной оценки производительности.

Методика строится по следующему алгоритму:


Индекс_Apdex = (Количество_Успешных + (Количество_Приемлемых / 2)) / Общее_Количество_Замеров

Где:

Полученный индекс находится в диапазоне от 0 (крайне низкая производительность) до 1 (идеальная скорость). Проведение замеров по методике Apdex до начала работ и после их завершения позволяет наглядно оценить эффективность оптимизации.

Основные «узкие места» в 1С:Управление торговлей 11.4

Проанализируем архитектурные особенности конфигурации УТ 11.4, которые чаще всего приводят к замедлению работы системы:

Неоптимальные запросы в коде: Как исправить ошибку

Очень часто причиной медленной работы доработанных конфигураций являются ошибки начинающих программистов. Посмотрим на классический пример неоптимального обращения к виртуальным таблицам внутри цикла:


// НЕПРАВИЛЬНО: Вызов запроса внутри цикла приводит к лавинообразному росту обращений к СУБД
Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток
        |ИЗ
        |	РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстатки";
    
    Запрос.УстановитьПараметр("Номенклатура", СтрокаТовара.Номенклатура);
    Выборка = Запрос.Выполнить().Выбрать();
    Если Выборка.Следующий() Тогда
        // Обработка результата
    КонецЕсли;
КонецЦикла;

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


// ПРАВИЛЬНО: Запрос выполняется один раз, данные обрабатываются пакетом
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	ТаблицаТоваров.Номенклатура КАК Номенклатура
    |ПОМЕСТИТЬ ВТ_Товары
    |ИЗ
    |	&ТаблицаТоваров КАК ТаблицаТоваров
    |;
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |	ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    |	ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Остаток
    |ИЗ
    |	РегистрНакопления.ТоварыНаСкладах.Остатки(, Номенклатура В (ВЫБРАТЬ ВТ_Товары.Номенклатура ИЗ ВТ_Товары)) КАК ТоварыНаСкладахОстатки";

Запрос.УстановитьПараметр("ТаблицаТоваров", ТаблицаТоваров);
РезультатЗапроса = Запрос.Выполнить();
// Далее обрабатываем полученный массив данных в один заход

СУБД для 1С: MS SQL Server против PostgreSQL

Выбор и настройка сервера баз данных оказывает решающее влияние на скорость работы всей ИТ-архитектуры предприятия. Рассмотрим основные особенности эксплуатации популярных систем управления базами данных:

Если вы приняли решение использовать PostgreSQL, обязательно настройте следующие ключевые параметры в конфигурационном файле postgresql.conf:

Пошаговый план самостоятельной экспресс-диагностики системы

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

  1. Запустите замер производительности в конфигураторе. Включите режим отладки, откройте замер производительности, проведите проблемный документ (который выполняется слишком медленно) и остановите замер. Вы сразу увидите, на каких модулях и строках кода платформа задерживается дольше всего.
  2. Проверьте регламентные задания. Перейдите в администрирование базы данных и отключите неиспользуемые регламентные операции (например, регулярное извлечение текста для полнотекстового поиска, если ваши сотрудники им не пользуются). Это значительно снизит фоновую нагрузку на сервер.
  3. Оцените состояние дисковой подсистемы сервера. Перенесите временные базы данных (например, TempDB для MS SQL) на быстрые NVMe SSD-накопители. Низкая скорость дисков на запись — это частая причина долгого проведения транзакций в 1С.
  4. Проведите аудит настроек виртуализации. Если ваш сервер 1С работает на виртуальной машине (VMware, Hyper-V), убедитесь, что оперативная память и ядра процессора жестко зарезервированы под данную виртуальную машину (исключите динамическое распределение ресурсов).

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

← На главную