Разделы

Цифровизация Инфраструктура Бизнес-приложения

Аудит производительности: как отличить мифы от реальности?

Сегодня все больше предприятий интегрируют свои основные бизнес-процессы в ИТ-системы. Если компания успешна, то информационные потоки растут и однажды наступает момент, когда производительности ИС не хватает для реализации поставленных задач. Это зачастую приводит к огромным убыткам, а иногда даже парализует деятельность организации. Но задача повышения производительности решаема. Как это оптимальным образом осуществить, CNews рассказал Владимир Сердюк, генеральный директор компании "СофтПоинт".

Тут проявляется очень важная особенность работы нашей компании: мы можем с помощью собственных технологий очень быстро решать проблемы производительности. Речь идет не о месяцах внедрения — первый эффект виден уже буквально через 5–6 дней. Другими словами, спрос на наши услуги есть, и он достаточно высокий. Мало того, он постоянно увеличивается: растут информационные системы и потоки данных, а серверные технологии идут по пути увеличения количества процессоров. Сейчас мы сталкиваемся с тем, что нужно уметь разрабатывать ПО с возможностью параллельных вычислений. Очень мало процессов и программ адаптированы под эти условия – в первую очередь потому, что это очень сложно. Но мы этим занимаемся, и наши наработки востребованы.

Эффективность работы приложений


Увеличить

Источник: "СофтПоинт", 2011

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

Пример временных гарантий в отчете

Документ Время проведения, обычный период Время проведения, период сдачи отчетности
Сред.Макс.Сред.Макс.
ПлатежноеПоручениеВходящее 1c 5c 2c 7c
ПлатежноеПоручениеИсходящее 3c 10c 5c 15c
ПоступлениеТоваровУслуг 6c 13c 9c 20c
РеализацияТоваровУслуг 8c 15c 10c 15c
ЗаказПокупателя 6c 15c 6c 15c

Источник: "СофтПоинт", 2011

После создания отчета мы формируем коммерческое предложение, заключаем договор и в минимальный срок внедряем наши технологии в систему, получая некий результат. С помощью системы мониторинга мы снимаем статистику и формируем отчеты о состоянии производительности в системе. Потом показываем клиенту, что у него было "до" и стало "после". Он видит эффект и убеждается, что по договору мы выполнили все. Интересно, что эффект от внедрения, как правило, исчисляется десятками раз. Причем уменьшается не время создания отчета или документа, а количество блокировок, что говорит об увеличении параллельности вычислений и увеличении масштабируемости системы. И если в системе работало, скажем, 50 пользователей, то после нашей оптимизации мы можем гарантировать, что их будет 200–300 и никаких проблем не возникнет.

Бывают случаи, когда наши заказчики сами "ставят себе диагноз", причем неправильный. Мы проводим мониторинг и видим, что дело совершенно в другом, после чего сообщаем об этом клиенту и решаем проблему. Иногда, в определенный момент у заказчика резко возникают проблемы производительности, и ему требуется переход на новую систему. Срок полноценного внедрения ИС — год–два. Но бизнес ждать не может, поэтому мы оперативно помогаем клиенту оптимизировать на это время практически любую существующую систему. Поскольку наибольшее количество информационных систем в России реализовано на платформе "1С:Предприятие" версий 7 и 8, то и наша компания основной акцент делает на такие системы под управлением СУБД MS SQL Server 2000/2005/2008.

CNews: Множество компаний на российском рынке предлагают аудит ИТ. В чем конкурентные преимущества вашего аудита?

Владимир Сердюк: В первую очередь — это наш опыт. Не столько долгое время существования на рынке, сколько число успешных реализаций (более 200). В силу этого опыта у нас уже сложилось понимание, какие продукты стоит создавать. Сейчас у нас есть уникальный продукт собственной разработки для мониторинга производительности — PerfExpert. С его помощью мы можем достаточно глубоко исследовать вопросы производительности систем под управлением, например, СУБД MS SQL Server и платформы "1С:Предприятие".

Конечно, имеются и общеизвестные средства мониторинга, но они не позволяют провести детальный анализ узких мест ИС. Например, стандартная программа трассировки MS SQL Server может сообщить о каких-то неоптимальных запросах или индексах. Но по этой информации сложно определить, к какой строчке кода она относится и каков вообще вклад этой строчки в общую производительность. Трассировщик не дает ответ и на вопрос, какой пользователь системы создает основные проблемы. Мало того, стандартные средства мониторинга нельзя постоянно использовать в режиме высокой детализации — это приводит к существенной нагрузке на систему. Мы же организовали работу PerfExpert таким образом, что при высокой детализации нагрузка на систему не превышает 3%. Это уникальный результат, другие известные мне средства не позволяют достичь подобных показателей.

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

Наши конкурентные преимущества заключаются и в эффективности наших проектов по повышению производительности. Самое скромное достижение — увеличение параллельности в 3-5 раз. Средняя же цифра — 15–20 раз. Как правило, добиться такого повышения производительности для ОLTP-систем за счет замены серверного оборудования нельзя.