Юрий Ковалев, президент компании «Перфоманс Лаб»
Производительность приложений: проблемы и решения
— Приведите примеры, когда бизнес-приложения нуждаются в контроле производительности.
— Перед Новым годом люди дарят друг другу подарки и поэтому берут кредиты. Нагрузка на банковские кредитные системы в декабре возрастает в 23 раза. Поэтому от готовности ИТ подразделения обеспечить требуемую производительность зависит финансовый результат банка в данный период (High Season). Когда сезон высоких продаж заканчивается, нагрузка снижается и мощности оборудования кредитной системы становятся избыточными, поэтому их можно задействовать для решения других задач.
— Какими средствами на предприятии обычно решаются проблемы производительности приложений? К каким последствиям для бизнеса они могут привести?
— Самым типовым решением, конечно, является увеличение мощностей серверного оборудования. Это решение, в принципе, даже рекомендуется, когда речь идет об относительно простых и масштабируемых системах, например — в онлайн проектах. Если же речь идет о сложных биллинговых или банковских системах, то проблемы производительности часто являются следствием неоптимального кода или конфигурации и поэтому должны устраняться в ходе проектов по оптимизации производительности.
Из-за неспособности системы обеспечить необходимую производительность могут сорваться стратегические планы роста бизнеса. Например, в одном известном банке был принят годовой план по удвоению числа отделений в РФ. Однако розничная система оказалась к этому не готова. В данном случае решением было проведение проекта по нагрузочному тестированию и увеличению производительности системы до требуемого уровня.
— Какие приложения особенно нуждаются в контроле производительности?
— Информационные системы, нагрузка на которые растет (плавно или пиково), больше всего нуждаются в контроле производительности. Необходимо понимать, когда именно нагрузка станет слишком большой. Также нужно точно знать, что в этом случае нужно предпринять для увеличения производительности системы.
— Какое влияние оказывают новые технологии (например, виртуализация серверов) на инструменты APM? Могут ли традиционные системы APM справиться с решением проблемы деградации производительности приложений?
— Поскольку к инструментам APM относятся средства нагрузочного тестирования, то, конечно, новые технологии должны поддерживаться ими. То же, пусть и в меньшей степени, касается и систем мониторинга производительности. Что касается виртуализации, то она сама по себе может использоваться как APM инструмент, за счет автоматической миграции серверных ресурсов между виртуальными машинами.
— Поддержка мобильных приложений — является ли это проблемой для современных инструментов APM?
— Тип приложений для APM значения не имеет. Важно отметить, что APM — это в первую очередь процесс, управляемый человеком, а не набор инструментов.
— Помимо наличия инструментария APM, какие меры необходимы на предприятии для устранения проблем, связанных с деградацией производительности приложений?
— Процесс управления производительностью включает четыре основных компонента: оценка прогнозов бизнеса, мониторинг, нагрузочное тестирование и оптимизация производительности. Чтобы понять, к какой нагрузке готовиться, необходимо получить прогноз у бизнеса. Чтобы видеть, насколько точно он сбывается — требуется мониторинг. Для того чтобы понять, справится ли система с ожидаемой нагрузкой — проводится нагрузочное тестирование. Если тестирование покажет, что производительность системы недостаточна — потребуется определить «узкие места» и провести оптимизацию производительности, это может быть как изменение кода или конфигурации ПО, так и добавление аппаратных мощностей.
— Уделяют ли руководители ИТ подразделений в российских компаниях должное внимание такому аспекту, как контроль за производительностью приложений?
— Среди клиентов «Перфоманс Лаб» такие компании есть. Это организации, лидирующие в своих отраслях и понимающие, что производительность ИТ систем является сильным конкурентным преимуществом.
— Какие решения класса APM рекомендует ваша компания и почему?
— «Перфоманс Лаб» рекомендует в первую очередь создание осмысленного процесса Capacity Management для mission и businesscritical приложений. Инструменты могут быть разными. Специалисты «Перфоманс Лаб» предпочитают линейку продуктов HP, включая такие продукты, как LoadRunner, Performance Center, BAC, SiteScope, Diagnostics.
06.02.2012