УДК 004.4: 004.9: 528.9: 912.43
ИССЛЕДОВАНИЕ СЕРВИСА ПЕРЕДАЧИ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ШАБЛОНОВ1
Суханов Владимир Иванович д.т.н., доцент
Тимошенко Сергей Иванович к.т.н., доцент
Уральский федеральный университет, Екатеринбург, Россия
Приводятся результаты нагрузочного тестирования сервиса передачи данных с использованием шаблонов
Ключевые слова: XML, БАЗА ДАННЫХ, ВЕБ-ПРИЛОЖЕНИЕ, СЕРВЕР
UDC 004.4: 004.9: 528.9: 912.43
RESEARCH OF SERVICE DATA TRANSFER USING PATTERNS
Sukhanov Vladimir Ivanovich Dr.Sci.Tech., associate professor
Timoshenko Sergey Ivanovich Cand.Tech.Sci., associate professor
Urals Federal University, Yekaterinburg, Russia
In the article, we present the results of stress testing of service data using templates
Keywords: XML, DATA BASE, WEB-APPLICATION, SERVER.
Введение
Разработка сервисов передачи данных с использованием шаблонов требует изучения их работоспособности и устойчивости при эксплуатации в высоконагруженных серверах хранилищ. Шаблоны описывают структуру запросов на извлечение и пополнение данных хранилища, позволяющие дистанционно управлять информационными ресурсами пользователей для хранения, обмена и обработки данных нереляционного типа [1].
В публикации [2] приведены основные принципы создания сервиса передачи данных с использованием шаблонов, основанных на формате XML-документов. Ниже на рисунке 1 приведена архитектура экспериментального образца программного обеспечения (ЭО ПО), который реализует описанные принципы. ЭО ПО строится как набор сервисов, объединенных общим репозиторием. Размещение сервиса в облаке может быть обеспечено договором на аренду облачной инфраструктуры в виде набора виртуальных машин, укомплектованных операционной системой семейства
1 Работа поддерживается Министерством образования и науки Российской Федерации, ГК № 14.514.11.4002 (шифр 2012-1.4-07-514-0061-007).
Linux, свободной СУБД PostgreSQL, серверами проксирования и балансировки нагрузки.
Рисунок 1 - Архитектура ЭО ПО
В состав ЭО ПО входят следующие сервисы для обслуживания основных функций:
a) Сервис работы с репозиторием позволяет администратору базы данных (БД) поддерживать информационное обеспечение в актуальном состоянии. Реализован модулем администрирования, предназначенным для настройки прав доступа пользователей к функциональности ЭО ПО.
b) Сервис подготовки запроса позволяет пользователям создавать и загружать в БД запросы на извлечение информации из хранимых
документов как из репозитория, так и размещённых в облачных хранилищах пользователей (показаны как БД в облаке). Реализован в модуле аутентификации и авторизации пользователей предназначенный для персонализированной работы пользователей и защиты от несанкционированных доступов.
c) Сервис подготовки XML-схем позволяет создавать шаблоны передаваемых данных, используемые для синтаксического контроля поступающих от разных источников XML-документов. Реализован в модуле пользовательской функциональности, предназначенным для обеспечения доступа пользователей к функциям ЭО ПО.
d) Сервис загрузки документов позволяет пользователям в диалоге или внешним прикладным системам по протоколам SOAP и REST загружать в модуль базы данных содержимое документов, доступных для клиентов сервиса. Реализован в модуле передачи данных другим системам по разработанным шаблонам передачи бизнес-данных, предназначенным для передачи хранимых бизнес-данных.
e) Сервис исполнения запросов позволяет пользователям получать выборки информации из документов, удовлетворяющей условиям, сформулированным в запросе на языке Xquery. Реализован в модуле пользовательского веб-интерфейса, предназначенный для обеспечения web-доступа пользователей к функциональности ЭО ПО.
Перечисленный набор сервисов покрывает требуемую функциональность ЭО ПО, обеспечивая пользователей всеми необходимыми инструментами для организации облачного сервиса для автоматизации процессов обслуживания клиентов, способного передавать данные другим системам по разработанным шаблонам передачи бизнес-данных.
1 Средства исследования ЭО ПО сервиса передачи данных с использованием шаблонов
ЭО ПО представляет собой типичную систему массового обслуживания (СМО, см. рисунок 2). На вход системы поступают запросы от пользователей. Запросы выстраиваются сервером приложений в очередь, и постепенно обрабатываются в потоках с 1-го по К-й.
Рисунок 2 - Система массового обслуживания
Для оценки временных характеристик ЭО ПО необходимо было провести нагрузочное тестирование средств доступа корпоративных приложений к информационным ресурсам хранилища документов. Его можно провести с использованием различных инструментальных средств, таких как 1Ме1ег, ОрепБТЛ и других.
ОрепБТЛ [3] представляет собой бесплатную свободно-распространяемую систему для проведения распределенного нагрузочного тестирования и мониторинга веб-приложений. В состав системы входят компоненты для создания и редактирования сценариев тестов, компоненты управления тестами и компоненты для организации взаимодействия различных хост-компьютеров системы в процессе выполнения распределенных тестов.
ОрепБТЛ имеет гибкие средства для создания тестов, управления логикой работы сценария теста. Для упрощения создания первоначального
сценария имеется функция записи реальной последовательности действий экспериментатора через браузер при общении с испытуемым сервером. Управление логикой работы сценария использует SCL - Script Control Language. OpenSTA позволяет моделировать и модифицировать код записанных ранее HTTP-запросов, передаваемых веб-приложению, чтобы сформировать требуемый уровень нагрузки за счет задания параметров времени и числа виртуальных пользователей, от имени которых будет формироваться поток запросов на сервер.
В ходе выполнения тестов OpenSTA позволяет осуществлять мониторинг удаленной системы, на которой работает веб-приложение с помощью так называемых коллекторов (Collector) для различных вариантов исполнения сервера: для агентов SNMP или для серверов под управлением операционных систем (ОС) семейства MS Windows. По результатам теста доступны различные отчеты. Результаты и статистика обработки запросов сохраняется в файлах, которые могут просматриваться в среде OpenSTA и экспортироваться в различных форматах в другие системы для анализа и печати. OpenSTA позволяет выполнять различные виды работ:
a) нагрузочное тестирование;
b) стресс-тестирование;
c) функциональное тестирование;
d) мониторинг доступности.
Система тестирования Apache JMeter [4] является Java-приложением, разработанным для нагрузочного тестирования клиент/серверных веб-приложений. Она может тестировать исполнение как статических так и динамических ресурсов (см. http://jmeter.apache.org/). Например, статические файлы, Java Servlets, сценарии CGI, объекты Java, базы данных, серверы FTP и другие. JMeter может быть использован для имитации тяжелой стрессовой нагрузки на сервере, сети или объекте или для анализа общей
работы под другими типами нагрузки. JMeter предъявляет следующие минимальные требования:
a) требует полностью совместимую JVM 1.4 или выше;
b) протестирован под следующими ОС:
• Unix (Solaris, Linux, и т.п.);
• Windows (98, NT, XP, и выше);
• OpenVMS Alpha 7.3+.
2 Организация тестирования ЭО ПО сервиса передачи данных с использованием шаблонов
Учитывая, что основной тестируемый продукт разработан в технологии J2EE, и желаемую независимость от платформы ОС, предпочтение в выборе инструмента для нагрузочного тестирования было отдано системе Apache JMeter. Тестирование выполнялось инструментом нагрузочного тестирования JMeter, установленным на стороне пользователя.
Для тестирования использовались следующие технические средства:
c) Клиентская часть: персональный компьютер с процессором Pentium 4 2 гГц, оперативной памятью DDR II 1 Гб, жестким диском SATA(2) 100 Гб.
d) Серверная часть: сервер с процессором 2 x Intel Xeon 3ГГц, оперативной памятью DDR II, 2x2Гб, жестким диском SATA(2) 100 Гб.
Помимо ЭО ПО сервиса передачи данных с использованием шаблонов, были установлены следующие программные средства:
e) Клиентская часть: ОС Windows 7, браузер Firefox 10.
f) Серверная часть: ОС Red Hat Enterprise Linux 6.
Для выполнения нагрузочного тестирования необходимо было провести ряд экспериментов с ЭО ПО с замером времени выполнения
операций. Для определения количества экспериментов использовалась формула (http://stratum.ac.ru/textbooks/modelir/lection21 .html):
Шрт = k(QF) • p • (1 - p)/s2, где: k(QF) - коэффициент Лапласа;
p - предположительная вероятность наступления события; s - точность (доверительный интервал).
Нагрузочное тестирование проводилось в автоматическом режиме на базе разработанного ЭО ПО. БД содержала необходимый для проведения нагрузочного тестирования объём информации, также сгенерированной в автоматическом режиме.
3 Результаты исследования ЭО ПО сервиса передачи данных с использованием шаблонов
Эксперимент проводился при количестве записей в базе данных (БД) 3500000, количестве одновременно работающих пользователей 1000, проведении типовых операций с БД на технических средствах и установленном ПО, описанных выше. Данные нагрузочного тестирования приведены в таблицах 1-3.
Таблица 1 — Статистические характеристики нагрузочного тестирования времени создания карточки нового объекта
Количество экспериментов 1000
Средняя продолжительность, мс 1022,25
Максимальная продолжительность, мс 13377
Стандартное отклонение, мс 570,51
Доверительный интервал оценки средней продолжительности (при доверительной вероятности 0,98), мс ±41,97
Таблица 2 — Статистические характеристики нагрузочного тестирования времени регистрации профиля пользователя
Количество экспериментов 1000
Средняя продолжительность, мс 2069,19
Максимальная продолжительность, мс 45528
Стандартное отклонение, мс 3013,37
Доверительный интервал оценки средней продолжительности (при доверительной вероятности 0,98), мс ±221,68
Таблица 3 — Статистические характеристики нагрузочного тестирования времени предоставления хранимых бизнес-данных об одном объекте
Количество экспериментов 1000
Средняя продолжительность, мс 941,35
Максимальная продолжительность, мс 1267
Стандартное отклонение, мс 48,57
Доверительный интервал оценки средней продолжительности (при доверительной вероятности 0,98), мс ±3,57
Заключение
Проведенные исследования позволили получить временные характеристики ЭО ПО сервиса передачи данных с использованием шаблонов. На указанных выше технических средствах и ПО были обеспечены следующие временные характеристики с вероятностью 0,98:
a) Время создания карточки нового объекта — не более 1,1 с.
b) Время регистрации профиля пользователя сервиса — не более 2,3 с.
c) Время предоставления хранимых бизнес-данных об одном объекте — не более 0,95 с.
Проведенные исследования подтвердили перспективность использования XML-технологий для организации хранилищ слабо структурированных данных и обмена различной информацией между пользователями без предварительных соглашений о её структуре.
Список литературы
1 Основы использования XML-схем для определения элементов [Электронный ресурс]. — Режим доступа: http://www.ibm.com/ developerworks/ru/library/xml-schema/ (дата обращения: 18.03.2013).
2 Суханов В.И. Обработка XML-документов в JAVA EE / В.И. Суханов // Политематический сетевой электронный научный журнал Кубанского государственного аграрного университета (Научный журнал КубГАУ) [Электронный ресурс]. — Краснодар: КубГАУ, 2013. - №02(86). - Режим доступа:
http://ej.kubagro.ru/2013/02/pdf/44.pdf (дата обращения: 20.03.2013).
3 OpenSTA User Home The Netty Project API Reference (3.2.6.Final) — [USA], 2012. — Mode of access: http:// opensta.org/ (дата обращения: 22.03.2013).
4 Apache Jmeter [Electronic resource]. — [USA], 2012. — Mode of access: http://jmeter.apache.org/ (дата обращения: 25.03.2013).
References
1 The basics of using XML-schema to define elements [electronic resource]. - Mode of access: http://www.ibm.com/ developerworks / ru / library / xml-schema / (date accessed: 18.03.2013).
2 V. Sukhanov Processing of XML-documents in a JAVA EE / VI Sukhanov / / Polythematic power electronic scientific journal of the Kuban State Agrarian University (Journal KubGAU) [electronic resource]. - Krasnodar KubGAU, 2013. - № 02 (86). - Mode of access: http://ej .kubagro.ru/2013/02/pdf/44.pdf (date accessed: 20.03.2013).
3 OpenSTA User Home The Netty Project API Reference (3.2.6.Final) - [USA], 2012. -Mode of access: http://opensta.org/ (date accessed: 22.03.2013).
4 Apache Jmeter [Electronic resource]. - [USA], 2012. - Mode of access: http://jmeter.apache.org/ (date accessed: 25.03.2013).
Работа поддерживается Министерством образования и науки Российской Федерации, ГК № 14.514.11.4002 (шифр 2012-1.4-07-514-0061007).