Как правильно подготовиться к экзамену 1С:Эксперт по технологическим вопросам

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Выбор СУБД и программной среды для тренировок

Первый вопрос, который возникает у специалиста: на чем практиковаться, если рабочая «боевая» инфраструктура закрыта для экспериментов? Рассмотрим доступные варианты MS SQL Server. Существует две бесплатные версии: Express и Developer. Проанализируем их применимость для наших задач.

MS SQL Server Developer Edition — это наш основной выбор. С точки зрения функционала она полностью идентична версии Enterprise, но ограничена лицензией только для разработки и обучения. В ней доступны все необходимые механизмы мониторинга, включая SQL Profiler и современные Extended Events. Версия Express нам не подходит, так как она имеет жесткие ограничения по объему базы данных, использованию оперативной памяти и количеству ядер процессора, что не позволит имитировать реальные нагрузки и анализировать сложные планы запросов.

Для работы с импортонезависимым стеком обязательно развернем PostgreSQL. Рекомендуется использовать сборки, оптимизированные именно для 1С, чтобы изучить специфические настройки конфигурационного файла postgresql.conf.

Освоение инструментов мониторинга СУБД

Многие ошибочно полагают, что знание SQL Profiler — это залог успеха. На самом деле, это лишь малая часть необходимых навыков. Разберем, что именно нам нужно освоить:

  1. Extended Events (XE): Рассмотрим этот механизм как основной. Современные стандарты 1С и Microsoft рекомендуют использовать именно XE, так как они создают значительно меньшую нагрузку на сервер. Нам нужно научиться создавать сессии для отлова длительных запросов и событий взаимоблокировок (deadlocks).
  2. SQL Profiler: Несмотря на устаревание, он все еще встречается в вопросах. Нам важно уметь быстро настроить фильтры по Duration, Reads, Writes и CPU, а также понимать различие между событиями RPC:Completed и SQL:BatchCompleted.
  3. Планы запросов (Execution Plans): Выясним, как читать графические и текстовые планы. Особое внимание уделим поиску «узких мест»: операторам Index Scan (сканирование), которые нужно превращать в Index Seek (поиск), и выявлению Key Lookup, сигнализирующих о недостаточности покрывающих индексов.

Технологический журнал (ТЖ) — фундамент знаний эксперта

Работа с технологическим журналом является критически важным навыком. На экзамене часто требуется настроить сбор логов вручную через файл logcfg.xml. Проанализируем структуру этого файла и основные события, которые мы должны знать «наизусть»:


<config xmlns="http://v8.1c.ru/v8/tech-log">
  <log location="C:\LOGS\ALL" history="24">
    <event>
      <eq property="Name" value="TLOCK"/>
    </event>
    <event>
      <eq property="Name" value="TTIMEOUT"/>
    </event>
    <event>
      <eq property="Name" value="TDEADLOCK"/>
    </event>
    <property name="All"/>
  </log>
</config>

Разберем основные события подробнее:

Поскольку файлы ТЖ могут достигать гигантских размеров, нам необходимо освоить инструменты быстрой фильтрации. Рассмотрим использование командной строки (PowerShell или связку grep/awk). Эксперт должен уметь одной строкой вытащить из лога за 10 ГБ все события, длительность которых превышает 5 секунд.

Уровни изоляции транзакций и блокировки

Это «ядро» теоретической части экзамена. Нам нужно четко разграничивать понятия. Рассмотрим ситуацию: когда в 1С используются управляемые блокировки, а когда — объектные. Выясним разницу между режимами Read Committed и Read Committed Snapshot Isolation (RCSI) в MS SQL Server.

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


Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
ЭлементБлокировки.УстановитьЗначение("Номенклатура", СсылкаНоменклатуры);
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();

Помним правило: сначала устанавливаем управляемую блокировку, затем выполняем запрос на чтение, и только потом — запись.

Мониторинг производительности ОС

Эксперт должен видеть общую картину. Рассмотрим ключевые счетчики производительности (Perfmon), которые помогут нам локализовать проблему вне 1С:

  1. Процессор: Проанализируем % Processor Time. Если он стабильно выше 80%, выясним, не вызвано ли это неоптимальными планами запросов или нехваткой мощностей.
  2. Дисковая подсистема: Обратим внимание на Avg. Disk Queue Length (длина очереди). Если очередь велика, СУБД не успевает сбрасывать данные на диск.
  3. Память: Посмотрим на Page Faults/sec. Большое количество ошибок отсутствия страницы говорит о том, что серверу катастрофически не хватает оперативной памяти и он постоянно обращается к файлу подкачки.

Практические методики и ресурсы

Для успешной сдачи недостаточно теории. Посмотрим на список обязательных к изучению материалов:

Во-первых, это «Настольная книга эксперта по технологическим вопросам». Ее нужно проработать от корки до корки. Во-вторых, необходимо изучить состав и принципы работы КИП (Корпоративного инструментального пакета), в частности ЦУП (Центр управления производительностью) и ЦКТ (Центр контроля качества).

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

← На главную