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