Научная статья на тему 'Моделирование работы web-сервера на языке GPSS'

Моделирование работы web-сервера на языке GPSS Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
286
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
WEB-СЕРВИС / WEB-СЕРВЕР / GPSS / C / СМО / WEB-SERVICE / WEB-SERVER / QUEUEING MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хваталин Максим Михайлович

В статье рассматриваются проблемы масштабирования веб-сервисов, способы моделирования работы WEB-серверов на языке GPSS.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хваталин Максим Михайлович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MODELING WORKING OF WEB-SERVER USING GPSS LANGUAGE

The article considers problems of web-services scaling, modeling methods of working web-servers using GPSS language.

Текст научной работы на тему «Моделирование работы web-сервера на языке GPSS»

ЭЛЕКТРОННЫЙ НАУЧНЫЙ ЖУРНАЛ «APRIORI. ^РИЯ: ЕСТЕСТВЕННЫЕ И ТЕХНИЧЕСКИЕ НАУКИ»

№ 6 2015

УДК 004

МОДЕЛИРОВАНИЕ РАБОТЫ WEB-СЕРВЕРА НА ЯЗЫКЕ GPSS Хваталин Максим Михайлович

магистрант

Мордовский государственный университет им. Н.П. Огарёва, Саранск

author@apriori-journal.ru

Аннотация. В статье рассматриваются проблемы масштабирования веб-сервисов, способы моделирования работы WEB-серверов на языке GPSS.

Ключевые слова: web-сервис; web-сервер; GPSS; ^ СМО.

MODELING WORKING OF WEB-SERVER USING GPSS LANGUAGE

Khvatalin Maxim Mikhailovich

undergraduate Mordovian state university of N.P. Ogaryov, Saransk

Abstract. The article considers problems of web-services scaling, modeling methods of working web-servers using GPSS language.

Key words: web-service; web-server; GPSS; C; Queueing model.

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

Любой веб-сервер может рассматриваться как система массового обслуживания, которая характеризуются следующими компонентами: входным потоком событий или требований, дисциплиной очереди заявок, механизмом обслуживания, выходным потоком требований.

Для анализа режимов работы, поиска рациональных или оптимальных условий функционирования системы применяется имитационное моделирование, основанное на статистическом моделировании с использованием ЭВМ.

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

Важнейшей структурной характеристикой СМО является дисциплина обслуживания, она задает порядок выбора требований из очереди для обслуживания [1].

Характеристики, определяющие доступность обслуживающего прибора, могут быть использованы и в других случаях. Кроме того, СМО может учитывать такое поведение клиентов, как уход из очереди, переходы из одной очереди в другую и другие интересные и не являющиеся неожиданными поступки, свойственные людям [2].

Любая математическая модель может быть описана на любом языке программирования высокого уровня. В частности, для имитационного моделирования подходит язык программирования Си.

Язык Си обладает всеми необходимыми для этого свойствами: программы, написанные на нем, очень эффективны, не требуют специальной среды поддержки времени выполнения. Программы на языке С имеют низкие требования к аппаратной части вычислительной системы. Тем не менее в настоящее время язык С часто выбирается из-за стабильности языка и его окружения (стандартные библиотеки, компиляторы и другие инструментальные средства), а также наличия возможности получения программ, выполняющихся с максимальной скоростью на данной аппаратной платформе [3].

Однако, как и любой другой язык общего назначения, Си требует написания дополнительного кода для реализации имитационного моделирования. В условиях, когда требуется максимального быстро построить математическую модель, гораздо лучше подойдут специализированные инструменты. Одним из таких инструментов является язык вРвв.

Язык GPSS специально был разработан для построения имитационных моделей сложных дискретных систем. GPSS - это интерпретирующая языковая система, применяющаяся, в основном, для имитации пространственно-временного движения объектов различной природы при фиксированной структуре блочной схемы. Формальными основными моделями, для имитации которых используется GPSS, являются системы массового обслуживания, автоматы, стохастические сети, сети Петри и макросети, локальные вычислительные сети, агрегаты и пр. [4].

В состав вРБв/РС входят следующие типы объектов: транзакты, блоки, списки, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные [4]. Всякая модель рассматриваемой системы в терминах языка вРБв может быть представлена в виде комбинации компонентов, которые составляют вРБв.

Прежде чем начинать построение имитационной модели, необходимо сначала сформулировать задачу и её условия.

Пусть у есть балансирующий сервер и 2 веб-сервера. Запрос поступает на балансирующий сервер, а затем перенаправляется на свободный веб-сервер. Поступающие запросы подчиняется пуассоновскому закону распределения вероятностей с параметром Л = 0.2/с (5 запросов в секунду). Обработка запроса на балансирующем сервере занимает 0,03 ± 0,01 с, обработка запроса на веб-сервере занимает 0,5 ± 0.1 с, затраты на передачу запросу от балансирующего сервера к веб-серверу примем равными 0. Максимальное число запросов, находящихся в очереди балансирующего сервера - 100000 (100000 подключенных соединений), для веб-сервера - 1000.

Смоделируем прохождение запросов.

Таблица 1

Результаты первого моделирования

Устройство Число прошедших транзактов Среднее время обработки Загруженность Число отказов

Балансировщик 19998 0.030 0.151 0

Первый сервер 7949 0.500 1.000 1102

Второй сервер 7928 0.501 0.999 1023

Рис. 1. Распределение времени ответа для первого моделирования

Проанализируем полученные результаты:

- За время моделирования поступило 19998 запросов;

- Балансировщик имеет достаточный запас по ресурсам;

- Производительности веб-серверов недостаточно для обеспечения нужного качества сервиса;

- 2125 запросов получили отказ (10,63 %);

- Время обработки 15854 запросов превысило 2.5 с.;

- Время обработки лишь 2128 запросов было в пределах требуемого.

Добавим ещё один веб-сервер с аналогичными характеристиками.

Таблица 2

Результаты второго моделирования

Устройство Число прошедших транзактов Среднее время обработки Загруженность Число отказов

Балансировщик 18807 0.030 0.149 0

Первый сервер 4206 0.500 0.556 0

Второй сервер 7572 0.500 1.000 0

Третий сервер 6224 0.499 0.821 0

Г ¡V у1 чЖ

Рис. 1. Распределение времени ответа для второго моделирования

Проанализируем полученные результаты:

- За время моделирования поступило 18807 запросов;

- Число серверов станет достаточным после увеличения их до четырех;

- 0 запросов получили отказ;

- Увеличилось число запросов в пределах допустимого.

В данной статье раскрыты основные проблемы масштабирования веб-сервисов, основные понятия СМО и имитационного моделирования, а также язык GPSS.

Исходный код первого примера можно посмотреть, перейдя по ссылке http://git.io/vRaXO, исходный код второго по ссылке http://git.io/vRaXW.

Список использованных источников

1. Афонин В.В. Соотношения оптимальности в линейно-квадратичной задаче управления / В.В. Афонин, С.М. Мурюмин // Средневолжско-го математического общества. 2014. Т. 16. № 2. С. 118-120.

2. Афонин В.В. Анализ и синтез систем управления для линейных и нелинейных объектов на основе разделения движений. Дисс. ... канд. тех. наук. Л., 1984.

3. Александров Э.Э. Введение в программирование на языке Си / Э.Э. Александров, В.В. Афонин. Саранск: Изд-во Мордовского ун-та, 2009.

4. Афонин В.В. Основы анализа систем массового обслуживания / В.В. Афонин, С.М. Мурюмин, С.А. Федосин. Саранск: Изд-во Мордовского ун-та, 2003.

i Надоели баннеры? Вы всегда можете отключить рекламу.