Медленная работа или отказ базы могут быть связаны с запросом, блокировкой, настройкой СУБД, данными, приложением, диском, сетью или общей нагрузкой. Экспертиза производительности и причин сбоев СУБД входит в экспертизу БД и СУБД и исследует зафиксированный инцидент, измеримые требования и технические объяснения сторон. Это не обычная услуга по настройке рабочей системы.
Предварительный просмотр метрик и логов позволяет оценить, охватывают ли они нужный интервал, есть ли обычные показатели работы для сравнения и можно ли воспроизвести событие. Прогноз показывает вероятную определённость будущего вывода, но не гарантирует установление единственной причины: прошедший инцидент мог не оставить достаточных данных.
Когда нужна экспертиза производительности
Направление востребовано, когда показатели и причина имеют значение для договорного или судебного спора. Если компании нужно только ускорить текущую систему, рациональнее начать с DBA-аудита и не называть его судебной экспертизой.
- зафиксирован простой, массовые ошибки или недоступность;
- не выполнены измеримые показатели SLA или ТЗ;
- стороны спорят о причине деградации;
- наблюдались блокировки, взаимоблокировки или исчерпание ресурсов;
- после релиза, миграции или изменения конфигурации система замедлилась;
- нагрузочный тест и рабочая система дают разные результаты;
- нужно оценить обоснованность выводов внутреннего расследования.
Для дефектов проекта без привязки к производительности применяется экспертиза соответствия БД техническому заданию. Аппаратные неисправности могут потребовать экспертизы серверов, а масштабный сбой корпоративной системы — комплексного исследования ИС.
Предмет и границы
Предметом являются технические причины и условия зафиксированных показателей, отказов, блокировок и ошибок в конкретной конфигурации, интервале и нагрузке. Эксперт устанавливает наблюдаемые факторы и проверяет альтернативы, а не выбирает виновную сторону.
Текущий тест не доказывает автоматически состояние системы в прошлом. Рекомендация оптимизации не равна доказательству причины инцидента. Нарушение договора, размер потерь, допустимость простоя и ответственность оцениваются с учётом права, договора и других доказательств.
Какие объекты исследуются
Для причинного анализа необходимы источники разных уровней за один временной интервал. Только график CPU или один slow query редко объясняют всю последовательность.
Метрики и журналы СУБД
Исследуются журналы ошибок и медленных запросов, статистика ожиданий, активные сеансы, блокировки, взаимоблокировки, планы запросов, статистика таблиц и индексов, контрольные точки, журналирование, соединения и показатели кэша. Учитываются сбросы счётчиков и изменение настроек.
Инфраструктура и приложение
Сопоставляются загрузка процессора, оперативной памяти, задержки дисковой подсистемы, IOPS, сеть, гипервизор, контейнеры, пул соединений, очереди, тайм-ауты и логи приложения. Это позволяет отделить ожидание внутри СУБД от задержки до или после неё.
Конфигурация и нагрузка
Фиксируются версия, параметры, схема, индексы, объём и распределение данных, число пользователей, профиль запросов, фоновые задачи и изменения перед инцидентом. Без описания нагрузки фраза «работает медленно» не содержит измеримого критерия.
Материалы для ретроспективного исследования
Чем раньше сохранены метрики, тем выше шанс восстановить последовательность. После завершения инцидента новые тесты полезны для проверки гипотез, но не заменяют утраченные исторические данные.
- точное начало и окончание инцидента с часовым поясом;
- логи СУБД, приложения, ОС, сети и мониторинга за расширенный интервал;
- конфигурация, топология, версия и ресурсы;
- планы запросов, статистика, сведения о блокировках и ошибках;
- профиль нагрузки, объём данных и обычные показатели работы для сравнения;
- релизы, миграции, изменения схемы и настроек перед событием;
- ТЗ, SLA, методика измерения и протоколы испытаний;
- результаты внутренних расследований и действия по восстановлению.
Если метрики агрегированы слишком грубо, нужные счётчики сброшены или часы узлов не согласованы, это ограничит точность. Эксперт не заполняет пробелы предположениями и показывает, какие версии подтверждены.
Как проводится анализ
Строится временная шкала, проверяется качество источников, сопоставляются изменения нагрузки, ожидания, ошибки и действия администраторов. Затем анализируются запросы и планы, индексы, блокировки, параметры и инфраструктурные показатели. Для каждой версии причины ищутся подтверждающие и опровергающие признаки.
Воспроизведение проводят на согласованном стенде с описанными отличиями. Нагрузочный тест на рабочей системе способен причинить ущерб, поэтому его выполняют только при специальном основании, по плану и под контролем. Автоматический отчёт мониторинга проверяют, а не принимают как готовый экспертный вывод.
Какие вопросы поставить перед экспертом
Вопросы должны содержать интервал, показатель, систему и условия. Мы поможем заменить общую жалобу измеримой технической задачей и отделить проверку причины от рекомендаций по улучшению.
Укажите SLA или порог, профиль нагрузки, версию и события перед инцидентом. Не объединяйте техническую причину, ответственность и убытки. Окончательные вопросы и материалы судебной экспертизы определяет назначающий орган.
- Какие технические факторы сопровождали указанный сбой?
- Какой компонент являлся измеряемым узким местом в заданный период?
- Имеются ли признаки блокировок, взаимоблокировок или ресурсных ожиданий?
- Соответствовали ли настройки исследуемой конфигурации указанным требованиям?
- Связано ли замедление с запросом, индексом, данными, СУБД или инфраструктурой?
- Воспроизводится ли проблема при согласованной нагрузке?
- Достигнуты ли конкретные показатели SLA или ТЗ по принятой методике?
- Какие изменения системы предшествовали появлению проблемы?
- Достаточны ли исторические метрики для вывода о прошедшем инциденте?
- Какие альтернативные технические причины проверены и исключены?
Вопрос «почему всё тормозит?» уточняется компонентом, интервалом и показателем. «Виновен ли администратор?» заменяется анализом конфигурации и действий. «Как устранить проблему?» может быть отдельной консультационной задачей после установления причины.
Техническая связь сбоя с конфигурацией или действием администратора не равна выводу о его виновности, мотиве, намерении причинить простой или нарушении договора. Эти обстоятельства суд либо орган расследования устанавливает с учётом всех доказательств, тогда как эксперт отвечает о работе СУБД в пределах специальных знаний. Правовая оценка за пределами компетенции не отменяет заключение автоматически, но позволяет ставить под сомнение компетентность автора, относимость, допустимость, достоверность и обоснованность спорного ответа. В уголовном процессе обнаруженная некомпетентность может повлечь отвод эксперта; в других процессах для отвода нужны предусмотренные ими основания. Возможны также допрос, дополнительная или повторная экспертиза, а при существенном процессуальном нарушении — постановка вопроса об исключении заключения или признании его недопустимым доказательством по правилам применимого процесса.
Проверка SLA и нагрузочные тесты
SLA пригоден для экспертизы, если определяет метрику, точку измерения, период, исключения и допустимую нагрузку. Среднее время ответа может скрывать критические процентили, а мониторинг разных сторон — использовать разные точки и часы.
Нагрузочный сценарий должен отражать согласованный профиль, набор данных и параллелизм. Результат стенда распространяется только на описанные условия. Эксперт не гарантирует будущую производительность при неизвестной нагрузке и архитектуре.
Предварительный прогноз и результат
Для прогноза достаточно перечня источников, фрагмента метрик за расширенный интервал, конфигурации, описания симптома и SLA. Специалист оценит временную связь событий, обычные показатели для сравнения, ключевые пробелы и возможность воспроизведения. Прогноз может показать несколько равновероятных причин или невозможность ретроспективного ответа.
Заключение содержит временную шкалу, исследованные показатели, методы, проверенные версии, установленную техническую причину либо границы вывода. Оно не имеет заранее установленной силы. После назначения эксперт не принимает от стороны новые логи и не даёт ей частный прогноз: материалы поступают через назначивший орган.
От чего зависят срок и стоимость
Учитываются длительность и число инцидентов, количество источников, объём метрик, сложность топологии, необходимость восстановления стенда и нагрузочного теста, число запросов и альтернативных причин. Точный расчёт и условия прогноза возможны после просмотра комплекта; обещание установить причину без исторических данных было бы необоснованным.
Проведение экспертизы по уголовному делу
Согласно Постановлению Пленума Верховного Суда Российской Федерации от 21 декабря 2010 г. N 28 "О судебной экспертизе по уголовным делам" экспертиза по уголовному делу может быть проведена либо государственным экспертным учреждением, либо некоммерческой организацией, созданной в соответствии с Гражданским кодексом Российской Федерации и Федеральным законом "О некоммерческих организациях", осуществляющих судебно-экспертную деятельность в соответствии с принятыми ими уставами.
Коммерческие организации и лаборатории, индивидуальные предприниматели, образовательные учреждения не имеют права проводить экспертизу по уголовному делу, ровно как и некоммерческие организации, для которых экспертная деятельность не является уставной. Экспертиза, подготовленная указанными организациями в рамках уголовного процесса, может быть признана недопустимым доказательством, т.е. доказательством, полученным с нарушением требований процессуального закона.
Недопустимые доказательства не могут использоваться в процессе доказывания, в том числе, исследоваться или оглашаться в судебном заседании, и подлежат исключению из материалов уголовного дела.
Так как АНО "Судебный эксперт" является автономной некоммерческой организацией, а проведение судебных экспертиз является её основной уставной деятельностью (см. раздел "Документы организации"), то она имеет право проводить экспертизы в том числе и по уголовным делам.