Тема диплома:"Разработка модели Web-Сервера и исследование его производительности"
Введение
В связи с интенсивным развитием информационных технологий и резким увеличением пользователей глобальной сети интернет, в работе web-серверов HTTP возникла проблема перегруженности трафика. Таким образом, web-сервер не справляется с большим объёмом запросов и возникают задержки, то есть пользователи сети вынуждены длительное время ожидать ответы на свои запросы. К примеру, в случае использования интернета большими фирмами, несвоевременное получение информации ведёт к значительным материальным потерям. Таким образом, возникла острая необходимость решения этой проблемы.
Есть несколько способов решения данной проблемы: моделирование web-сервера с помощью универсального пакета имитационного моделирования. Причем решение этого вопроса осуществляется на аппаратном уровне. А так же я сравниваю созданную мною модель с программой тестирования.
Итак, результатом выполнения моей работы станет сокращение времени ожидания ответов на запросы, и как следствие – значительное сокращение материальных затрат.
1. Сервер HTTP
Документы для Web реализуются на простом "языке разметки", называемом HTML ( HyperText Markup Language - язык гипертекстовой разметки). Язык HTML используется для создания гипертекстовых документов, давая возможность описывать структуру документа с указанием заголовков, выделений, связей с дру гими документами и т.д. В HTML - документы можно вставлять изображения и другие мультимедиа-объекты. Таким образом, HTML позволяет интегрировать в среде Web видеоклипы, программные приложения, мультимедийные объекты. Боль шинство HTML -документов состоят из текста и ссылок на встроенные изображения. Связь между ссылкой и именем файла изображения обеспечивают вставку изображения во время просмотра документа.
Встроенные изображения оказывают существенное влияние на производитель ность сервера. Когда браузер выполняет синтаксический разбор HTML -данных, полученных с сервера, он распознает связи, ассоциированные со встроенными изображениями, и автоматически запрашивает соответствующие файлы изображений. На самом деле, HTML -документ со встроенными изображениями - это ни что иное, как группа многочисленных объектов, которые генерируют отдельные запро сы на сервер. В то время как пользователь видит только один документ, сервер видит серию отдельных запросов, посылаемую этим документом. С целью улучше ния производительности для конечного пользователя, некоторые браузеры начина ют запрашивать изображения до того, как клиент получит полный текст. Во время анализа производительности системы важно понять, что одно единственное нажатие кнопки пользователем может породить целую последовательность файловых запросов к серверу.
2. Задержки возникающие при выполнении Web -запроса
Задержки, можно разделить на: (1) время обслуживания - время, затраченное на пользование различными ресурсами, такими как процессоры, диски и сети; (2) время ожидания - время, затраченное на ожидание доступа к ресурсам, которые заняты.
2.1 Время отклика
Это время на получение ответа на свой запрос к Web - службе, называемое сквозным временем отклика ( end - to - end response time ), можно разбить на два главных компонента: время сети и время Web -сайта. Время сети ( network time ) - это время, потраченное различными сообщениями на перемещения от пользовательского браузера до Web -сайта. В свою очередь, время сети можно разделить на задержку и время передачи. Задержка ( latency ) указыва ет на количество времени в RTT ( round - trip time - время на передачу и подтверждение приема), затрачиваемого на обмен сообщениями между клиентским браузером и сайтом. Задержка зависит от природы используемых протоколов передачи данных и, в случае Web -страниц, от дизайна Web -страниц, что более подробно рассматривается в этой главе. Время передачи ( transmission time ) - это время, не обходимое для передачи всех байт, которыми обмениваются браузер и Web-сайт. Время передачи зависит от пропускной способности самого медленного соединения в цепочке между браузером и сайтом.
Запрос на получение Web -службы может посетить один или большее количе ство Web -сайтов. Время, затрачиваемое запросом на Web -сайте, можно разложить на два компонента : время обслуживания и время нахождения в оче реди. Время обслуживания ( service time ) - это промежуток времени, в течение которого запрос обслуживается такими ресурсами, как процессоры, диски, сегменты локальной сети или линии связи. Запрос в течение своего выполнения может вос пользоваться указанными ресурсами несколько раз (например, совершить более одной операции дискового ввода-вывода или множество обращений к процессору по мере обработки запроса операционной системой). Обозначим через S i j время об служивания ресурсом i при его j -том посещении. Время, затрачиваемое запросом на ожидание доступа к ресурсу i при его j -том посещении, называется временем ожидания ( waiting time ) и обозначается как W i j .
Суммарное время обслуживания запроса на ресурсе i называется потребностью в обслуживании (service demand) и обозначается через Di. Например, если запросы к Web-сайту выполняют в среднем по 3.5 операции дискового ввода-вывода, для которых среднее время обслуживания составляет 10 мс, то потребность в обслуживании для таких запросов на данном диске составит 35мс (3.5 х 10). Сумма всех времен ожидания доступа к ресурсу i для заданного запроса называется временем нахождения в очереди (queuing lime) и обозначается как Qi. Пусть Vi - среднее количество посещений запросом ресурса i, a Si - среднее время обслуживания, приходящееся на одно посещение ресурса. Тогда средняя потребность в обслуживании Di, равняется произведению среднего количества посещений ресурса на среднее время, занимаемое на этом ресурсе за одно его посещение, т.е.
Di = Vi*Si.
Сумма потребностей в обслуживании и времени нахождения в очереди для запроса к ресурсу i называется временем пребывания (residence time) и обозначается через Ri'. Время пребывания запроса на ресурсе - это общее время, затрачиваемое запросом на ожидание доступа и использование ресурса.
Время отклика запроса (response time) R - это сумма времен пребывания запроса на всех ресурсах при условии, что Web-запрос одновременно использует только один ресурс.
В итоге можно записать
2. Время обслуживания, потребность в обслуживании, время ожидания, время нахождения в очереди, время пребывания и время отклика
Процессор ( CPU ):
Потребность в обслуживании: Dcpu = SI + S 2 + S 3
Время нахождения в очереди: Qcpu = W 1 + W 2 + W 3
Время пребывания: R ' cpu = Dcpu + Qcpu
Диск ( disk ):
Потребность в обслуживании: Ddisk = S 4 + S 5 + S 6
Время нахождения в очереди: Qdisk = W 4 + W 5 + W 6
Бремя пребывания: R ' disk = Ddisk + Qdisk
Время отклика = R ' cpu + R ' disk
заключение
результатом проделанной мною работы было решение проблемы задержек в веб-серверах. Для этого мною был с моделирован веб-срвер с помощью универсального пакета имитационного моделирования.
Список литературы
Almeida, V. A. F. Almeida, and D. Yates, "Measuring the Behavior of a World Wide Web Server," Proc. Seventh Conf. High Perform. Networking (HPN'97) .
Heidmann, K. Obraczka, and J. Touch, "Modeling the Performance of HTTP Over Several Transport Protocols," IEEEIACM Trans. Networking, vol. 5, no. 5, pp. 616-630, Oct. 1997.