КонецПроцедуры

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

Вне зависимости от того, является ли проблема конкурентной борьбы пользователей за ресурсы объективной или созданной искусственно, решать ее можно тремя разными путями.

• «Инвестиционный» подход. Купить более мощные серверы, увеличить количество процессоров, утроить объем памяти, заменить дисковую подсистему более производительной и т. п. Оборудование будет работать быстрее, транзакции будут занимать меньше времени – возможно, проблема исчезнет сама собой. Здесь требуются только деньги, и ничего кроме.

• «Организационный» подход. Приказным порядком минимизировать количество конкурентных транзакций в информационной системе – например, ввести жесткие посменные графики работы пользователей. «Отдел А имеет право проводить документы только в четные часы, отдел Б только в нечетные», «менеджер А продает только телефоны, менеджер Б продает только садовые грабли» и т. д. Потребуется фантазия от руководства и строжайшая дисциплина от пользователей.

• «Экспертный» подход. Проанализировать проблему на всех уровнях, локализовать причины, разработать и применить на практике методики оптимизации информационной базы. И только в случае, если никаких резервов для оптимизации не осталось, – инвестировать в оборудование и (или) провести реорганизацию бизнес-процессов предприятия. Здесь прежде всего потребуются квалификация и опыт специалистов по технологическим вопросам платформы «1С: Предприятие 8».

Мониторинг показателей производительности в реальном времени

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

Локализация и оптимизация проблемных участков конфигурации

Любая прикладная операция, выполняемая пользователем в информационной базе «1С: Предприятие 8», порождает ряд последовательно выполняемых технологических операций, а именно:

• Клиентское приложение передает информацию о запрошенной пользователем операции кластеру серверов «1С: Предприятие 8».

• Кластер серверов выполняет прикладную логику, заданную для операции (если таковая присутствует), формирует инструкции для СУБД в виде SQL-запросов и передает их серверу баз данных.

• Сервер баз данных выполняет переданные ему SQL-запросы и передает результаты кластеру серверов.

• Кластер серверов «1С: Предприятие 8» анализирует результаты работы сервера баз данных, приводит их к заданному прикладной логикой операции виду и передает клиентскому приложению.

• Клиентское приложение интерпретирует и отображает результаты выполнения операции.

Анализ проблем производительности в контексте кода конфигурации

Такая последовательность действий выполняется для любой прикладной операции над данными, даже если пользователь просто листает форму списка документов. На практике это означает, что между кластером серверов «1С: Предприятие 8» и сервером баз данных (это может быть MS SQL Server, IBM DB2 или PostgreSQL) происходит интенсивный обмен данными – поток запросов в сторону СУБД и обратный поток результатов в сторону кластера серверов. Очевидно, что поиск «проблемных участков» конфигурации необходимо строить следующим образом:

• Анализ массива SQL-запросов, передаваемых СУБД. Выявление «проблемных» запросов – тех, которые порождают ожидания на блокировках или взаимные блокировки либо выполняются неоправданно долгое время.

• «Перевод» проблемных SQL-запросов, выполняемых СУБД, в термины метаданных конфигурации «1С: Предприятие 8». СУБД оперирует именами физических таблиц и полей, а проблему требуется локализовать среди прикладных объектов и программного кода на встроенном языке.

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

Все эти операции можно выполнять в полностью ручном режиме: СУБД предоставляет инструменты для трассировки выполняемых SQL-запросов, а соответствие прикладных объектов метаданных и их реквизитов таблицам и полям физической базы данных можно достичь средствами встроенного языка. Исчерпывающую информацию обо всех событиях, происходящих в информационной базе, предоставляет правильно настроенный технологический журнал «1С: Предприятие 8». Главная трудность заключается не в доступе к источникам информации, а в необходимости вручную выполнить огромный объем рутинных действий по настройке этих источников, а также по сбору и обработке технологических данных. Причем выполнять эти действия требуется регулярно. Для эффективной работы специалисту необходим инструмент, который позволил бы автоматизировать рутинные действия по извлечению, обработке и первичному анализу технологических данных информационной базы «1С: Предприятие 8». Существует ли такой инструмент?

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

• мониторинг показателей производительности клиент-серверной информационной базы «1С: Предприятие 8»;

• интегральная оценка производительности информационной базы в реальном времени;

• запись и хранение исторической информации о показателях производительности;

• анализ динамики изменений показателей производительности за произвольный период времени;

• выявление проблем производительности клиент-серверной информационной базы;

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

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

«Центр управления производительностью» (далее ЦУП) может работать в двух режимах.

• Режим мониторинга. В этом режиме требуется подключение ЦУП к исследуемой информационной базе. Эксперт может выбрать для отслеживания в реальном времени и (или) для записи в информационную базу ЦУП интересующие его показатели производительности. Отслеживание и сбор информации производятся по трем группам показателей: выполнение запросов к СУБД, ожидания на блокировках, взаимные блокировки.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату
×