Кэширование и прокси-серверы
Категория: Web-хостинг и серверы Internet | Автор: admin | 13-06-2010, 00:40 | Просмотров: 3769

Рост сети Internet и объема находящейся в ней информации происходит по экспоненциальному закону. Следовательно, полоса пропускания глобальных каналов и мощность вычислительных ресурсов, требуемых для их обслуживания, также возрастают согласно данному закону. Как укротить эту "стихию"?

Единственным методом обуздания подобного роста является использование репликации. Независимо от того, на каком уровне — национальном, региональном или корпоративном — находится информация, по мере роста Internet ее необходимо перемещать на ближние узлы. Не имеет смысла, скажем, передавать одну и ту же популярную Web-страницу из Австралии в Северную Америку миллион раз в день, используя весьма дорогостоящий международный канал связи. Должен быть способ сохранять эту информацию после ее однократной передачи по каналу. К счастью, такой способ существует.

На помощь приходит бесплатно распространяемый пакет Squid (в переводе с английского — кальмар), являющийся кэширующим сервером и прокси-сервером одновременно. Он работает под управлением UNIX и поддерживает несколько протоколов, включая HTTP, FTP, Gopher и SSL.

Схема работы пакета следующая. Клиентские Web-броузеры (такие как Netscape и Internet Explorer) подключаются к серверу Squid, чтобы запросить объект из Internet. Сервер выполняет запрос от имени клиента (либо извлекает объект из кэша) и возвращает результат клиенту. Прокси-серверы этого типа часто используются для усиления безопасности, а также для фильтрации содержимого.

В системе, где работает прокси-сервер, непосредственный доступ в Internet через брандмауэр нужен лишь одному компьютеру. В компьютерных классах средних школ прокси-серверы зачастую выполняют фильтрацию содержимого, предотвращая доступ детей к неподобающим материалам. В настоящее время имеется множество коммерческих и бесплатных прокси-серверов (но лишь некоторые из них основаны на пакете Squid).

Служба фильтрации — это хорошо, но кэширующие возможности Squid просто замечательны. Сервер Squid не только кэширует информацию, получаемую в результате выполнения запросов локальных пользователей, но и позволяет создавать иерархию серверов. Группы серверов Squid для передачи друг другу сведений о содержимом своих кэшей используют протокол ICP (Internet Cache Protocol — протокол кэширования в сети Internet).

Это позволяет администратору создать систему, в которой локальные пользователи с целью получения Internet-содержимого взаимодействуют с кэширующим сервером организации. Если пользователь этого узла уже запрашивает те же самые данные, ему передается их копия, причем скорость передачи сравнима со скоростью работы сети (обычно 10 или 100 Мбит/с). При отсутствии требуемой информации на локальном сервере Squid таковая запрашивается у регионального кэширующего сервера. Как и в случае с локальным сервером, если какой-либо пользователь регионального сервера уже запрашивал объект раньше, этот объект хранится в кэше и будет возвращен незамедлительно. В противном случае сервер обратится к вышестоящему серверу (обслуживающему страну или континент). Благодаря этому производительность обработки запросов достаточно высока и пользователи чувствуют себя комфортно.

Использование пакета Squid экономически выгодно. Поскольку пользователи Internet часто запрашивают одну и ту же информацию, в средних и крупных организациях наблюдается значительное дублирование внешних Web-запросов. Эксперименты показали, что установка кэширующего сервера приводит к уменьшению внешнего трафика на 40%. Выигрыш особенно заметен на Web-узлах с поминутной платой за пользование каналом.

 

Инсталляция сервера Squid

 

Сервер Squid может инсталлироваться, конфигурироваться и работать в большинстве современных UNIX-систем. Поскольку ему нужно свободное пространство для кэша, потребуется выделенный компьютер, имеющий достаточный объем оперативной и дисковой памяти. Приемлемая конфигурация такова: 256 Мбайт ОЗУ и 20 Гбайт на жестком диске.

Свежую копию пакета Squid можно загрузить с узла www.squid-cache.org. После распаковки дистрибутива запустите сценарий configure, находящийся в начальном каталоге. По умолчанию предполагается, что пакет будет инсталлирован в каталоге /usr/local/squid. Если требуется указать другое местоположение, воспользуйтесь опцией --prefix=каталог сценария configure.

После завершения работы сценария запустите сначала команду make all, а потом — команду make install. Далее потребуется модифицировать файл конфигурации /usr/local/squid/etc/squid.conf. Обратитесь к файлу QUICK-START, находящемуся в дистрибутивном каталоге, для получения перечня изменений, которым должен подвергнуться имеющийся файл squid.conf.

Нужно также выполнить команду /usr/local/squid/bin/squid -z, чтобы построить и обнулить структуру каталогов, в которой будут храниться кэшированные Web-страницы. Сервер можно запустить вручную, с помощью сценария /usr/local/squid/bin/RunCache, хотя обычно он вызывается из системных rc-файлов — в таком случае сервер Squid автоматически запускается на этапе начальной загрузки.

Для тестирования сервера Squid необходимо указать его в качестве прокси-сервера для Web-броузера.



 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page