Технологические вопросы крупных внедрений
13.05.2016

Методика расследования проблем производительности в сервисе 1cfresh

В статье рассказывается о методике расследования причин проблем производительности в облачных сервисах, построенных на основе технологии 1cfresh.

Облачные сервисы, построенные на основе технологии 1cfresh, обладают рядом особенностей по сравнению с обычными внедрениями. В том числе:

Эти особенности необходимо учитывать при расследовании проблем производительности в процессе эксплуатации информационных систем, построенных на основе технологии 1cfresh.

Проблемы производительности

Категории проблем

На первом шаге анализа необходимо понять, с проблемой какого рода вы встретились:

Такую классификацию необходимо выполнить, т.к. причины проблем разного вида существенно различаются, так же как и методики их расследования.

Методы классификации

В процессе анализа необходимо учитывать совокупность показателей, среди которых:

Для расследования проблем производительности в сервисе критически важно организовать централизованный сбор данных замеров производительности и агрегацию показателей Apdex. Для этого следует использовать возможности ЦКК по импорту замеров производительности. Необходимость использования ЦКК для этой цели связана, во-первых, с возможностью горизонтального масштабирования сервиса, что приводит к тому, что один и тот же пользователь сервиса может работать параллельно в нескольких информационных базах. Как следствие, данные о замерах также хранятся во множестве информационных баз. Во-вторых, доступ с данным замеров в разделенной информационной базе требует наличия у специалиста, занимающегося вопросами производительности, административного доступа к данным, который в общем случае отсутствует. В третьих, в ЦКК встроены намного более развитые средства для анализа замеров, чем в любые другие конфигурации.

Рассмотрим особенности каждого класса проблем подробно.

Общая медленная работа сервиса у всех пользователей

Характерным признаком этого класса является то, что пользователь не может указать на конкретную операцию, которая замедлилась, либо пользователь будет указывать на те операции, которые он выполняет чаще всего.

Для выявления факта того, что проблема воспроизводится у большого количества пользователей (массовая проблема), необходимо понять:

 

Общая медленная работа сервиса у определенных пользователей

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

Медленная работа определенной функциональности у всех пользователей, либо у значительной части пользователей

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

Медленная работа определенной функциональности у определенных пользователей

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

В этом случае требуется провести проверки и попытаться максимально точно воспроизвести медленную работу определенной функциональности. Если проблема действительно в конкретной реализации функциональности, то проблема должна воспроизвестись.

Типичные причины проблем производительности

Общая медленная работа сервиса у всех пользователей

Возможные причины:

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

Если же деградация происходила постепенно, то необходимо понять, с чем связаны наблюдающиеся проблемы.

Для установления факта нехватки производительности оборудования следует организовать сбор сведений о загрузке оборудования. Для этих целей можно использовать как системные средства мониторинга (например, perfmon + logman при использовании ОС Windows), так и возможности ЦКК по сбору сведений о производительности оборудования.
Подробнее о настройке мониторинга на рабочих серверах можно прочитать тут.

 

Диагностировать длительные запросы можно путем анализа технологических журналов по событиям DBMSSQL (или другие в зависимости от используемой СУБД) и SDBL, либо используя ЦУП. При использовании MSSQL также имеет смысл проанализировать, какие виды ожиданий чаще всего возникают на сервере (подробнее тут).

Диагностировать длительные вызовы можно путем анализа технологических журналов по событиям CALL, SCALL, VRSREQUEST, VRSRESPONSE.

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

 

Общая медленная работа сервиса у определенных пользователей

Есть две основных причины проблем такого рода:

Для расследования таких проблем необходимо убедиться, что проблема не связана с конкретными сценариями работы. Зачастую, под общей медленной работой сервиса пользователи на самом деле имеют в виду медленную работу тех операций, которые они выполняют чаще всего. Поэтому необходимо подробно распросить пользователя о тех сценариях, на которых воспроизводится проблема, и проверить воспроизведение на копии области.

Если пользователь затрудняется сказать, какие операции работают медленно, то нужно проверить те операции, которые пользователь чаще всего выполняет по данным отчета "Анализ производительности" ЦКК.

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

Если проблему воспроизвести не удалось, то, вероятно, проблема связана с особенностями подключения к сервису конкретного пользователя. Для диагностики проблем такого рода можно воспользоваться обработкой "Диагностика качества подключения", встроенной в менеджер сервиса.

 

Рис.4 Обработка "Диагностика качества соединения" 

Для обеспечения высокого качества работы сервиса необходимо, чтобы:

Если пользователь использует медленный компьютер, то для решения проблем производительности рекомендуется использовать тонкий клиент. Если для пользователя принципиально использование браузера, то для достижения наилучшей производительности рекомендуется использование Google Chrome.

 
Медленная работа определенной функциональности у всех пользователей, либо у значительной части пользователей
 

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

Обычно массовые проблемы достаточно легко воспроизводятся, после чего можно приступить к расследованию. Методика расследования описана тут.

 

Медленная работа определенной функциональности у определенных пользователей

 

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