Рекордная производительность системы автоматизации российского банка
“Кризис пошел на пользу как фирмам-разработчикам банковского ПО, так и банкам, так как последние наконец начали понимать, что система автоматизации должна (и способна) давать практическую финансовую отдачу, а не служить демонстрацией “крутизны” банка и его возможностей по приобретению самых дорогих моделей серверов или западных АБС” - с этого заявления начал свое выступление на пресс-конференции, посвященной презентации результатов тестирования и оптимизации информационной системы управления банковской деятельностью (ИСУБД) “Новая Афина” версии 4.03, исполнительный директор фирмы “Диасофт+ ПрограмБанк” Валерий Овсий.
Выполняемые вот уже более двух лет в Центре оптимизации программных решений фирмы Intel процедуры тестирования и оптимизации прикладных программных продуктов (а за это время оптимизацию прошли 25 продуктов, чаще всего относящихся к категории систем управления ресурсами предприятия, автоматизированных банковских систем и тому подобных систем, ориентированных на использование мощных серверов и большого числа рабочих станций) стали восприниматься ее сотрудниками уже как ординарные. Однако тестирование “Новой Афины” потребовало необычайно интенсивного взаимодействия как разработчиков “Диасофт+ПрограмБанк” и инженеров этого Центра, так и специалистов компаний SCO и Oracle и привело, как оказалось, к установлению своеобразного рекорда. Одновременная бесперебойная работа в реальном времени 1,5 тыс. пользователей - именно таким было условие одного из покупателей “Новой Афины”, питерского Промстройбанка. Однако выяснилось, что компания Oracle до сих пор не сталкивалась с необходимостью обеспечения столь высокой производительности, и оптимизация настроек версии 8 ее СУБД, а также ОС SCO UnixWare 7 при их совместной работе потребовала особых усилий. Теперь все трудности преодолены, а по окончании выполнения работ получены важные результаты, позволяющие сформулировать рекомендации по настройке указанных ОС и СУБД для обеспечения высокого быстродействия прикладных программ.
“Новая Афина” является интегрированной АБС (т. е. все ее составные части пользуются единой БД), базирующейся на СУБД Oracle, и ее серверная часть работает на всех платформах, где функционирует эта СУБД.
Выбор программной платформы, для которой проводилась оптимизация данной системы, был предопределен большим интересом банков к Unix-решениям в сочетании с платформой Intel. Хотя на серверах с процессорами Intel из Unix-подобных ОС работают не только SCO OpenServer и UnixWare, но и Sun Solaris и Linux, для тестирования и оптимизации, с учетом заинтересованности банков именно в этой системе, была выбрана ОС SCO UnixWare 7. Указанная версия данной ОС является сравнительно новой и представляет собой симбиоз ОС UnixWare и OpenServer. Она обеспечивает поддержку до 32 процессоров, 4 Гб ОЗУ (до 64 Гб через специальный API), файлов размером до 1 Тб, внешней памяти объемом почти 77 тыс. Тб и интеллектуального интерфейса ввода-вывода (I2O), осуществляемого, например, с использованием специального процессора ввода-вывода фирмы Intel серии 960. Поддерживаются также 64-разрядная технология Hot Plug PCI, обеспечивающая возможность замены/дополнения плат расширения на шине PCI и обновления их драйверов без остановки сервера, и кластеризация на уровне ReliantHA (переключение с одного узла на другой при каком-либо сбое одного из них). Основные компоненты этой ОС уже готовы к портированию на будущие 64-разрядные процессоры Intel.
Несмотря на то, что, как объявили представители Intel, с этого года стандартными серверами масштаба предприятия становятся восьмипроцессорные серверы на основе чипсета Profusion (он позволяет создавать конфигурации, использующие до восьми процессоров Pentium III Xeon и до 32 Гб памяти), которые уже появились на рынке и на базе которых можно создавать отказоустойчивые кластерные решения под разными ОС, пока большинство пользователей располагает четырехпроцессорными серверами. В связи с этим при оптимизации “Новой Афины” использовались следующие аппаратная и программная платформы:
- четырехпроцессорный сервер на базе процессора Pentium II Xeon 400 МГц с кэшем второго уровня объемом 1 Мб (чипсет AD450NX, ОЗУ объемом 4 Гб);
- внешний RAID-накопитель уровня 5 объемом 60 Гб с отключенным в целях повышения производительности параметром RAID;
- ОС SCO UnixWare 7.0.1 Enterprise Edition;
- СУБД Oracle 8.0.4.3 Enterprise Edition в режиме Multi-Threaded Server.
В процессе тестирования “Новой Афины” имитировалось подключение 400 тыс. клиентов. В системе было открыто 900 тыс. счетов, 1 млн. мемориальных ордеров для заведения остатков на счетах, обрабатывалось 2 млн. платежных поручений и кассовых документов. При этом размер хранимой на внешнем RAID-накопителе БД составил 5,2 Гб (3,4 Гб - данные, 1,8 Гб - индексы).
Для получения результатов, заслуживающих доверия, имитатор нагрузки при тестировании любой системы должен обеспечивать ее измеряемость (в данном случае единица измерения - число транзакций в секунду), повторяемость и статичность (т. е. необходимо, чтобы пики нагрузки повторялись с определенной цикличностью). При этом нагрузка должна отражать типичные операции, выполняемые системой в промышленной эксплуатации. Всеми этими свойствами, по словам представителей Intel, обладает специально разработанная фирмой “Диасофт+ПрограмБанк” программа FrOffice - достаточно серьезная система, сравнимая, по их мнению, по своим возможностям с системами SQL-Bench, имеющимися на рынке. Froffice моделирует пользовательские соединения (в том числе позволяет вводить задержки, имитирующие реальную работу при связи с клиентом по телефону) и создает такие запросы к серверу БД, как “ввод”, “контроль” и “обработка документов”.
Нагрузка на систему при тестировании определялась следующими параметрами: число пользовательских соединений, продолжительность работы пользователя, среднее время между обращениями в процессе каждого соединения к БД (время отклика) и периодичность вывода статистических данных. Дополнительная статистика работы системы собиралась с помощью инструментов ОС.
В ходе реализации проекта были оптимизированы не только конфигурации ОС и СУБД (решение данной задачи, по оценке специалистов Intel, заняло не менее трети совокупного объема всех работ), но и некоторые части схемы базы данных и хранимые процедуры. “Теперь мы точно знаем, какие таблицы в базе данных и как перестраивать для повышения производительности, как нужно настраивать ОС и СУБД, а также можем реально использовать всю мощь серверов, что раньше было достаточно затруднительно. Однако мы будем реализовывать эти возможности только в том случае, если для банка - заказчика системы это станет ключевой потребностью, поскольку далеко не всем банкам это необходимо”, - заявил г-н Овсий.
В результате проведенной оптимизации были повышены скорость выполнения транзакций (с 12 до 20 транзакций в секунду - в 1,67 раза), производительность отдельных процедур и отчетов (переоценка 150 тыс. валютных счетов при смене курса теперь занимает 13,5 мин, прием 2 тыс. платежных поручений по зачислению на корсчет и проведение по балансу - 11,5 мин, расчет баланса банковского дня - 3,5 мин), а также обеспечена надежная работа до 1,5 тыс. пользователей с временем отклика в пределах 1 с (при одновременной работе 1250 пользователей с интервалом ввода операций 100 с среднее время отклика составило 0,86 с).
Проведение подобного тестирования и обнародование результатов оптимизации автоматизированных банковских систем, по мнению г-на Овсия, позволяют банкам при выборе АБС руководствоваться объективными критериями, а не полагаться на мнение знакомых автоматизаторов из других банков либо ориентироваться на предпочтения председателей их правлений.
Кроме упомянутого рекорда, предметом гордости “за державу” может служить и то, что наши соотечественники, сотрудники московского Центра оптимизации программных решений, который вплоть до 1 сентября текущего года был единственным подразделением Intel подобного профиля в Европе (таких центров в мире уже около 10, но московский был первым за пределами США), привлекаются к реализации подобных проектов в Европе и по всему миру. В частности, именно их силами будут выполняться практические работы в новом центре, открытом в Мюнхене для взаимодействия с западными разработчиками прикладных программ, не рискующими передавать программные коды своего ПО в Россию (фактически это вторая площадка московского Центра, так как в Германии пока нет соответствующих специалистов). Они же оказали действенную помощь и в создании подобного центра в Китае.