Oracle9i Application Server, выпущенный прошлой осенью корпорацией Oracle (Редвуд-Шорз, шт. Калифорния), - первый на рынке сервер приложений, оснащенный одовременно механизмами кэширования Web-данных и баз данных (последний работает только на чтение), способными значительно ускорить генерацию динамических Web-страниц (естественная функция сервера приложений) без установки дополнительного оборудования или иного усложнения систем.

Как показывают испытания в eWeek Labs, на той же самой аппаратуре с тестовой базой данных кэш позволяет поддерживать гораздо больше пользователей, так как СУБД в итоге приходится отвечать на значительно меньшее число запросов.

 

Кэширование текстовой информации дает большой выигрыш

Oracle9i Web Cache является частью Oracle9i Application Server и отдельно не поставляется, однако, как ни странно, с самим сервером приложений Web-кэш совершенно не связан. Oracle9i Web Cache является автономным Web-сервером: получая HTTP-запросы через выделенный порт, он передает другому Web-серверу (в данном случае серверу приложений) лишь те из них, ответ на которые не может (или не должен) сформировать на основе данных из кэш-памяти. Его легко установить независимо от других компонентов при помощи собственного инсталлятора.

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

Мы проверяли Oracle9i Web Cache в среде Windows NT корпорации Microsoft и Red Hat Linux фирмы Red Hat, используя в качестве сервера приложений Tomcat, созданный Apache Group. Заметим, что Oracle9i Application Server довольно дорог, он стоит $30 в расчете на 1 МГц тактовой частоты процессора в системах Intel или соответственно $45 для Unix-серверов иной архитектуры.

Oracle9i Web Cache предназначен для кэширования контента на базе HTML, в первую очередь динамического HTML-контента. Компания не планирует добавлять в него функции кэширования информации потоковых сред. Сервер не обеспечивает и поддержку трафика SSL (Secure Sockets Layer), в связи с чем продукт нельзя использовать для ускорения обработки защищенного Web-трафика. Правда, таковую поддержку предполагается встроить в течение этого года.

Oracle9i Web Cache способен приостанавливать кэширование страниц при изменении определенных элементов cookie-информации (например, если cookie содержит динамически генерируемый идентификатор сеанса связи; при желании мы могли задавать по имени те cookie, которые кэшу полагалось обрабатывать особым образом). Как и следовало ожидать, кэш анализирует параметры URL, чтобы отвечать лишь на запросы к страницам с такими же параметрами, что и у ранее кэшированных страниц.

В ряде случаев тесты показали колоссальный выигрыш в скорости, однако многое зависит от соотношения объемов динамического и статического контента конкретной страницы и сложности запросов к базе данных. Так, для страницы с динамическим каталогом мы могли довести интенсивность работы с использованием кэша до 406 запросов в секунду вместо 14 запросов в секунду при его отсутствии.

Наша клиентская управляющая система в этом тесте задействовала процессорные ресурсы на все 100%, тогда как сервер кэша использовал свой процессор не более чем на 20%, а значит, главным ограничителем был не сервер, а клиент.

Правда, статический контент уже не даст такого выигрыша в производительности. В соответствующем тесте Oracle9i Web Cache показал результат 447 запросов в секунду, в то время как Microsoft Internet Information Server - 469 запросов в секунду.

С техническим директором eWeek Labs по Западному побережью США Тимоти Диком можно связаться по адресу: timothy_dyck@ziffdavis.com.

Версия для печати