«БОСС. Кадровые системы» и Fujitsu Siemens делятся опытом нагрузочного тестирования совместного решения

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

Виктор Герасимов: «Оптимизация системы позволила свести к минимуму время простоя процессоров сервера и клиентских ПК»

Пример того, как грамотное построение всей аппаратной цепочки передачи данных может повысить производительность, продемонстрировали компании «БОСС. Кадровые системы» и Fujitsu Siemens. Представленное ими совместное решение предназначено для крупных страховых компаний национального масштаба с разветвленной филиальной сетью по всей стране и создано на основе реальных проектных требований одной из таких компаний.

Этот программно-аппаратный комплекс представляет собой систему управления персоналом «БОСС-Кадровик», работающую на платформе Fujitsu Siemens/Oracle. По словам начальника производственного отдела «БОСС. Кадровые системы» Виктора Герасимова, решение было протестировано на базе крупной российской страховой компании, использующей систему «БОСС-Кадровик». Для тестирования была разработана специальная нагрузочная программа, выполняющая некоторые стандартные операции при работе с системой и контролирующая время выполнения. В результате разработчики системы получили данные по возможностям ее оптимизации.

«Имеющиеся у нас знания позволяют проводить предварительную оценку загрузки системы, исходя из потребностей заказчика, и предлагать готовое решение, имеющее производительность до 4576 расчетов заработной платы в минуту», — заявил Герасимов. По его мнению, такая мощность не является избыточной: страховые компании, в отличие от многих других, которые проводят расчет зар?платы в асинхронном режиме, обычно предпочитают делать это централизованно во всех своих подразделениях. При этом ИТ-инфраструктура в страховой отрасли, как правило, развита слабо и с такими пиковыми нагрузками не справляется.

При испытаниях системы использовалась тестовая база данных, которая содержит 32 Гбайт данных о 106 тыс. работников (эта цифра взята из реального проекта). Сам процесс тестирования представлял собой циклический расчет заработной платы для подразделения, причем максимальное число одновременно работающих тестовых сессий, которые стартовали по одной каждые три минуты, составляло 121. Также исполнялись запросы пролистывания данных в формах, составлялся табель и отчеты и т. д. (эта часть тестирования получила название «реалистичный пример»).

Аппаратная платформа включала в себя сервер баз данных на основе PW650 под управлением операционной системы Solaris 9, систему хранения Network Appliance FAS 270 (14 дисков Fibre Channel емкостью по 72 Гбайт), файловый сервер с двумя процессорами Xeon/2,8 ГГц и памятью на 2 Гбайт под управлением Windows Server 2000, а также 12 рабочих станций (восемь компьютеров на основе Pentium III с тактовой частотой от 500 МГц до 800 МГц и с памятью 128-512 Мбайт, а также четыре компьютера на базе Pentium 4 с частотой от 2 МГц до 3 ГГц с памятью 512 Мбайт — 1 Гбайт под управлением Windows 2000 и Windows XP).

Основным объектом оптимизации стал сервер баз данных — количество процессоров (SPARC64-V/1,89 ГГц) в нем варьировалось от четырех до восьми, а емкость памяти — от 8 до 16 Гбайт. Испытания проводились для двух значений пропускной способности локальной сети — 10 Мбит/с и 100 Мбит/с. В результате оптимальной оказалась конфигурация с четырьмя процессорами и 16 Гбайт памяти: при увеличении числа процессоров производительность увеличивалась незначительно (с 2,5 до 2,6 тыс. расчетов при 100 сессиях), тогда как при уменьшении емкости памяти (до 8 Гбайт в четырехпроцессорной конфигурации) заметно падала (до 2 тыс. расчетов при 100 сессиях). Кроме того, критичной оказалась пропускная способность сети.

Также, по словам Герасимова, в определенные моменты времени загрузка процессоров всех рабочих станций практически достигала 100% — ранее же, когда проводились эксперименты с другими, менее мощными серверами, этот показатель не превышал 50%. Средний простой процессора сервера составил 50% при циклическом расчете зарплаты и оказался нулевым при реалистичном примере уже через час работы, когда было запущено около 130 сессий.