Аудит производительности: как отличить мифы от реальности?
Сегодня все больше предприятий интегрируют свои основные бизнес-процессы в ИТ-системы. Если компания успешна, то информационные потоки растут и однажды наступает момент, когда производительности ИС не хватает для реализации поставленных задач. Это зачастую приводит к огромным убыткам, а иногда даже парализует деятельность организации. Но задача повышения производительности решаема. Как это оптимальным образом осуществить, 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-систем за счет замены серверного оборудования нельзя.