1.2.0
Дата выпуска: 12.09.2024
Описание
1. Расширены возможности анализа при работе с PostgreSQL
Применимость СУБД Postgre для систем на платформе 1С продолжает расширяться. Доработки платформы и конфигураций 1С, выпуск дистрибутивов PG SQL ориентированных на работу с 1С и требования законодательства приводят к тому, что эта СУБД всё чаще используется для средних и крупных внедрений. Чтобы отвечать требованиям времени мы расширяем функциональность Алькир в части анализа производительности PG SQL. На текущий момент добавлены функции анализа статистики выполнения запросов и ожиданий СУБД. В будущих релизах функции анализа PG SQL будут расширяться.
2. Расширены возможности анализа при работе с MS SQL
Мы расширили возможности по анализу проблемных ситуаций, возникающих на стороне СУБД MS SQL. Добавлена возможность анализа ошибок предоставления блокировок и просмотра плана запросов.
3. Добавлена возможность построения дерева блокировок 1С
Мы реализовали возможность построения полного дерева блокировок 1С по данным ТЖ. Визуализация всех процессов вовлеченных в конфликт блокировок позволяет существенно упростить оценку необходимости блокировки и её оптимальности. Анализ возможен для любых ожиданий, а не только для тех, которые привели к ошибкам. Построение осуществляется на основании свойства Locks события TLOCK, поэтому дерево строится даже в тех случаях, когда свойство WaitConnections не содержит полного перечня конфликтующих соединений.
4. Оптимизированы существующие механизмы
При эксплуатации у наших клиентов в некоторых случаях были выявлены проблемы производительности Алькир. Мы провели рефакторинг проблемных функций и повысили скорость и стабильность работы системы.
5. Исправлены ошибки
Порядок обновления с версии 1.1
При переходе на новую версию необходимо обновить некоторые компоненты Алькир, используемые для получения данных. Поскольку у Поставщика нет доступа в продуктивный контур, то как и при первичном внедрении, часть операций по обновлению выполняется силами Заказчика. Для этого работа Алькир приостанавливается. После этого Заказчику необходимо:
- Обновить сессии XE скриптом в соответствии с инструкцией
- Обновить хранимую процедуру AlkirDBInfo скриптом в соответствии с инструкцией
Подробное описание изменений
Блок | Раздел | Как стало | Как было |
---|---|---|---|
Интерфейс | MSSQL/Запросы | При анализе статистики по запросам добавлена возможность отбора по контексту и тексту запроса. | Такая возможность не предоставлялась. |
Интерфейс | Блокировки | Изменена структура разделов интерфейса. Добавлены разделы Блокировки, Серверные вызовы. Удалён раздел Поиск проблем. Раздел блокировок переработан, добавлены графики для анализа общего состояния по блокировкам 1С и СУБД. | Подход к делению функций Алькир по разделам был менее последовательным и более раздробленным. |
Интерфейс | Блокировки/Блокировки 1C | Добавлена возможность построения полного дерева блокировок 1С по данным ТЖ. Переход к дереву возможен с вкладок, содержащих информацию об ошибках предоставления блокировок и о фактах установки блокировок. | Возможность визуализации дерева блокировок не предоставлялась. |
Интерфейс | Общие изменения | Увеличена длина полей в параметрах графиков и таблиц. | Было неудобно работать с длинными строками при указании параметров. |
Интерфейс | Общие изменения | Добавлен вывод имени текущего пользователя Алькир. | Имя пользователя не выводилось в интерфейсе. |
Интерфейс | Общие изменения | Добавлено адаптивное определение размера легенды для графиков. | На больших мониторах под легенду выделялось слишком много места. |
Обработка данных | Postgres/Запросы | Добавлена возможность анализа запросов для баз 1С, использующих PostgreSQL. Данные, полученные из СУБД, сопоставляются с данными ТЖ. | Такая возможность не предоставлялась. |
Обработка данных | Postgres/Таблицы | Добавлено сопоставление данных СУБД и структуры хранения данных ИБ. | Имена таблиц в терминах 1С не выводились. |
Обработка данных | Блокировки/Блокировки 1C | Изменён алгоритм поиска виновников блокировок. Теперь поиск выполняется рекурсивно с учётом пространства и полей блокировки. Таким образом реализована возможность анализировать цепочку блокировок целиком, даже в тех случаях, когда свойство события ТЖ WaitConnections не содержи всех участников цепочки блокировок. | Поиск выполнялся по свойству WaitConnections без учёта пересечения полей блокировок и был менее точным. Полная цепочка блокировок не воспроизводилась. |
Обработка данных | Блокировки/Блокировки 1C | В таблицу анализа статистики ожиданий на блокировках 1С добавлена возможность использовать различные аналитики. | В качестве аналитики использовался только контекст и пространство. |
Обработка данных | Общие изменения | Добавлена поддержка любых имен информационных баз. | Наличие дефисов и некоторых других спецсимволов в имени базы в кластере 1С приводило к ошибкам. |
Обработка данных | Ошибки | Расширены правила классификации ошибок. | Правила охватывали меньшее количество ошибок. |
Обработка данных | Серверные вызовы 1С | Добавлено обогащение контекстов "Данные.Провести", "Данные.ПометитьНаУдаление" и "Данные.Удалить" именем метаданных изменяемого объекта. | События такого типа имели одинаковый контекст независимо от типа изменяемого объекта. |
Оптимизация | Общие изменения | Обновлена версия ClickHouse до 24.3.4.147. | Использовалась версия 22.3.4.20. |
Оптимизация | Общие изменения | Добавлен механизм прерывания выполнения запроса в ClickHouse. | Длительные запросы могли продолжать выполняться даже после прекращения ожидания ответа frontend-ом. |
Получение данных | MSSQL/Запросы | Добавлена возможность получать информацию по планам запросов MS SQL. | Такая возможность не предоставлялась. |
Получение данных | MSSQL/Сервер | Изменена логика получения и хранения данных об ожиданиях сервера MS SQL. Существенно снижен объём передаваемых и хранимых данных. Исправлена ситуация, когда данные могли выводиться некорректно, если в анализируемый период сервер MS SQL перезапускался. | Получение и хранение данных было менее оптимально. В некоторых случаях данные могли искажаться. |
Получение данных | MSSQL/Сервер | Оптимизировано получение данных по обновлению статистики таблиц. | Получалось и хранилось избыточное количество данных. |
Получение данных | Postgres/Запросы | Добавлена возможность получения информации о статистике выполнения запросов и запросах Postgre SQL. | Такая возможность не предоставлялась. |
Получение данных | Блокировки/Блокировки СУБД | Добавлена возможность получения информации о тайм-аутах и взаимоблокировках СУБД по данным XE. Теперь информация по ошибкам содержит не только факт ошибки и данные ТЖ, но и имя таблиц и тексты запросов. Также стал возможен анализ конфликтов блокировок сеансов, запущенных не из 1С. | Информация по ошибкам предоставления блокировок СУБД была неполной, т.к. учитывала только данные ТЖ. |
Исправленные ошибки
Блок | Раздел | Как стало | Как было |
---|---|---|---|
Интерфейс | MSSQL/Таблицы | Исправлена ошибка при поиске соответствия 1С и БД. | В некоторых случаях поиск не выполнялся. Для восстановления работы вкладки были необходимо её обновить. |
Интерфейс | Postgres/Запросы | Исправлено отображение полного текста запроса на вкладке текущих запросов. | Текст запроса не выводился. |
Интерфейс | Общие изменения | Исправлена генерация ссылки при использовании кнопки "Поделиться". | Использование кнопки "Поделиться" на некоторых вкладках генерировало некорректную ссылку. |
Интерфейс | Общие изменения | Исправлена работа интерфейсе при ожидании ответа от сервера Алькир. Теперь в таблице крутится колёсик (лоадер). | Иногда вместо колеса загрузки в таблице ошибочно выводилось "За данный период данных не найдено". |
Интерфейс | Ошибки | Исправлена ошибка при поиске ошибок по критичности. | Поиск не выполнялся, возникала ошибка. |
Интерфейс | Технологический журнал | Исправлено применение сортировки в таблице событий ТЖ. | При первом открытии вкладки сортировка по дате события отображалась как активная, но не применялась. |
Интерфейс | Технологический журнал | Исправлено поведение интерфейса при изменении периода. | При смене периода сбрасывались все установленные фильтры. |
Обработка данных | MSSQL/Таблицы | Исправлено применение сортировки на вкладке изменения размеров таблиц. | Сортировка не применялась по умолчанию. |
Обработка данных | Кластер 1С/История работы | Исправлено применение сортировки в таблице истории рабочих процессов. | Деление строк на страницы выполнялось без учёта сортировки. |
Обработка данных | Ошибки | Оптимизирован запрос поиска и анализа ошибок. | Ранее выполнение запроса на большом объёме данных могло приводить к ошибке. |
Обработка данных | Ошибки | Исправлено построение графика по ошибкам при применении фильтров. | Использование фильтров с типом сравнения «not in» приводило к ошибкам. |
Обработка данных | Серверные вызовы | Исправлен поиск событий ЖР при переходе от серверного вызова 1С. | Список событий не заполнялся. |
Обработка данных | Серверные вызовы | Исправлено отображение контекстов в круговых диаграммах по серверным вызовам. | В некоторых случаях контекст обрезался при выводе данных. Из-за этого в круговой диаграмме могло быть несколько строк с одинаковым контекстом. |
Обработка данных | Технологический журнал | Исправлена ошибка применения фильтров. | Некоторые комбинации значений и фильтров приводили к ошибке. |
Оптимизация | Общие изменения | Изменена логика предварительной обработки данных для вкладок анализа ошибок и серверных вызовов 1С. | Ранее некоторые записи могли пропускаться и не учитываться в анализе. |
Оптимизация | Общие изменения | Исправлена зависимость Алькир от доступности сервера ElasticSearch. | Недоступность сервера ElasticSearch Алькир могла приводить к неработоспособности Алькир. |
Получение данных | Общие изменения | Оптимизировано получение данных из СУБД MS SQL. Также теперь выполнение хранимой процедуры выполняется с опцией SET DEADLOCK PRIORITY = -10. Таким образом, даже при возникновении взаимоблокировки, завершен буде процесс Алькир, а не какой-либо другой. | Выполнение хранимой процедуры AlkirDBInfo в MS SQL могло завершаться ошибкой deadlock, если совпадало по времени с операциями обновления статистики таблиц или перестроения индексов. |