факультет
: вычислительной техники и информатики
Специальность: Программное обеспечение автоматизированных систем
Web представляет собой постоянно развивающуюся систему, которая расширяется за счет новых компонентов и услуг непрерывно возрастающими темпами. Инфраструктура поддержки Web-служб заключает в себе множество аппаратных ресурсов: клиентских рабочих станций, серверов с их процессорами и подсистемами хранения данных, локальных и глобальных сетей, балансировщиков нагрузки и маршрутизаторов.
Клиент-серверные вычисления - это распределенная модель, используемая в Web, при которой выделяются два типа сущностей, реализуемых прикладными приложениями: клиенты (clients) и серверы (servers). Термин "сервер" не следует путать с компьютером, на котором выполняется серверный процесс.
Протокол, по которому общаются клиенты и серверы - это протокол типа "запрос-ответ" (request-reply), по которому клиенты отправляют запросы, а серверы отвечают на них (рис.). Клиенты и серверы могут работать на базе протокола TCP или модели без установки соединения, например, UDP.
Если одновременно обслуживать только один запрос, то ресурсы сервера будут использоваться не полностью, его пропускная способность (количество запросов, обслуживаемых в единицу времени) окажется низкой, а время отклика на запросы клиентов будет расти с ростом нагрузки на сервер (см. рис. а). Поэтому большинство серверов создают множественные процессы или потоки, выполняемые как один процесс, для того, чтобы обслужить очередь входящих запросов (см. рис. б).
Сообщение от клиента к серверу должно пройти через несколько уровней протокола и может передаваться через одну или большее количество сетей (см. рис.).
Время обслуживания сообщения сетью - это время, необходимое на передачу данного сообщения через сеть. Упомянутое время эквивалентно отношению количества байт, необходимых для передачи сообщения, включая заголовок и хвост (служебная информация), к пропускной способности сети.
Современные компьютерные системы становятся все более и более сложными и зависимыми от сетевых технологий, доступных благодаря Internet. Размещение приложений, зависимых от Web-сайтов, интрасетей, а также клиент-серверные технологии порождают проблему обеспечения их должного функционирования с приемлемой производительностью. Создание масштабируемых Web-служб приводит к появлению определенных трудностей из-за большого разрыва между средней и пиковой нагрузками. Была подробно рассмотрена модель "клиент-сервер" и затронуты вопросы влияния архитектуры на производительность. Web-запрос использует для своего выполнения различные ресурсы, в том числе процессоры и диски клиента, сервера, сетей и маршрутизаторов. Время обслуживания включает время, которое запрос проводит, получая обслуживание от какого-либо ресурса (например, выполняя операцию ввода/вывода на сервере баз данных). Время в очереди - это время, которое запрос проводит в ожидании, пока ресурс освободится (например, ожидая освобождения процессора).
F. Doughs and M. F. Kaashoek, "Scalable Internet Services," IEEE Internet Computing,July/Aug., 2001.
A.Ginige and S.Murugesan,"Web Engineering: An Introduction," IEEE Multimedia,vol. 8, no. 1, Jan.-March, 2001.
J. М. Andrade, М. Т. Carges, Т. J. Dwyer, and S. D. Felts, The Tuxedo System, Addison Wesley, Reading, Massachusetts, 1996.
BBN, "A History of the ARPANET: The First Decade," Tech. Rep., Bolt, Beranek, and Newman, Massachusetts, 1981.
G. Bell and J. Gray, "The Revoluti on Yet to Happen," Beyond Calculation: The Next Fifty Years of Computing, P. J. Denning and R. M. Metcalfe, eds., Copernicus Springer-Verlag, New York, 1997.
Дэниел А. Монаске, Виргилио А. Ф. Алмейда, Производительность Web-служб.Анализ, оценка и планирование,СПб:ООО «ДиаСофтЮП», 2003