Проекты Отдела прикладных сетевых исследований НЦЧ РАН и Группы по вычислительной физике и сетевым исследованиям ИТФ им Л.Д. Ландау РАН

Контактная информация

Адрес:

Лесная улица, д. 9, ком. 202  
г. Черноголовка, Московской обл, 142432, Россия

тел: (495) 993-48-44

факс: (495) 993-58-17

e-mail: adm@chg.ru 

Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript

 
Главная Публикации Кеширование информационных потоков, С.А.Крашаков, Л.Н.Щур, 1995
Печать

Кеширование информационных потоков

С.А.Крашаков, Л.Н.Щур

FREEnet'95 Workshop, Черноголовка, 5-7 декабря 1995

Тезисы доклада:

Общеизвестно, что объем информации, передаваемой по сети, растет экспоненциально, причем большая часть этого трафика (по статистике NSFNET [1]) приходится на WWW. Даже на примере нашей сети ChgNet, если год назад по линии Москва-Черноголовка передавалось в среднем 10-15 МБ в сутки, то в декабре 1995 - уже около 100 МБ в сутки. Причем очевидно, что большая часть запрашиваемой информации дублируется, поэтому весьма актуальной становится проблема кеширования информационных потоков.

Что следует кэшировать? Во-первых, объекты HTTP, поскольку именно они составляют большую часть потоков информации (по статистике NSFNET за апрель 1995 - 26.3%, FREEnet за сентябрь 1995 - 27.2%); кроме того, в протоколе HTTP предусмотрены запрос и передача даты последней модификации документа, что, в принципе, позволяет программе кеширования определить, отличается ли копия документа в кэше от его оригинала. Во вторых, файлы, передаваемые по FTP (21.5% и 54.5%, соответственно). Gopher - документы также можно кэшировать, хотя это менее актуально (1.8% в NSFNET). NNTP (UseNet News) (8.6% в NSFNET) кешировать не следует, поскольку они распространяются по своим каналам и по замыслу NNTP кэшируются на News-серверах.

Технически проблема уменьшения FTP-трафика решается с помощью FTP mirroring'а или с использованием Alex filesystem. Для WWW - mirroring или cache. Основные проблемы, возникающие при этом, связаны с тем, что с использованием Internet и WWW становятся тривиальными репликация и распространение документов по всему миру за очень низкую цену. Однако существует множество людей или организаций, которые хотели бы делать деньги на оплате пользователями каждого подключения к их серверу. При использовании кэширования они теряют контроль над этим. И второе, документы могут быстро обновляться и при использовании кэширования возможно получение пользователем устаревшей (а иногда, и ошибочной) информации.

Очевидно, что кэширование имеет смысл, когда обращения к информации происходят чаще ее обновления. В Университете Колорадо проводились исследования, которые показали, что: 1) распределение числа документов экспоненциально убывает от числа обращений к ним; 2) гистограмма распределения количества запросов одного и того же документа от интервала времени между запросами имеет два пика t=10 мин и t=1 день (среднее - 5.2 часа); 3) средний возраст документа - 2 недели.

Как уже упоминалось, для уменьшения потоков FTP-запросов обычно создается локальный FTP-архив, содержащий зеркальные копии наиболее часто используемых FTP-архивов. Такой сервер (ftp.chg.ru) существует уже давно, и на сегодняшний момент содержит около 5 ГБ информации.

В качестве средств кэширования WWW-запросов чаще всего используется CERN httpd [2] или Harvest cached [3]. Мы сравнивали обе эти программы и остановились на последней. Вообще говоря, Harvest - это интегрированный набор инструментов для сбора, извлечения, поиска, кэширования и репликации информации через Internet. Harvest [3] был разработан в Университете Колорадо группой под руководством Michael Schwartz при поддержке ARPA и других организаций, версия 1.0 вышла в ноябре 1994, последняя версия (ноябрь-декабрь 1995) - 1.4. Авторы поддерживают Harvest для SunOS 4.1.3, Solaris 2.4 и OSF/1 3.0. Исходные тексты легко компилируются под FreeBSD 2.0, Linux 1.1.59, IRIX 5.3, HP-UX 9.05, AIX 3.2.

Так же, как и CERN httpd, Harvest может кэшировать HTTP-, FTP- и Gopher- запросы. Премуществом Harvest перед CERN httpd является более высокая скорость, поскольку он дополнительно использует кэш в оперативной памяти, собственное кэширование запросов к DNS и кэширует все неудавшиеся запросы как для объектов, так и для DNS. В зависимости от конфигурации, он может работать как proxy-сервер или как httpd-акселератор для локального WWW-сервера. Предполагается, что последующие версии будут поддерживать HTTP If Modified-Since-GET, а пока достоверность документа оценивается только по Expired. В отличие от CERN httpd, Harvest позволяет создавать иерархические распределенные кэши (для каждого кэш-сервера можно определить кэш верхнего уровня и ближайших соседей), можно указывать local hosts, информация с которых не кэшируется, гибко конфигурировать время жизни для различных кэшируемых объектов.

По оценке авторов, Harvest может снизить загрузку FTP/HTTP/Gopher сервера в 6000 раз, а внешний сетевой трафик - в 60 раз.

Harvest cached был установлен в ChgNet NOC в качестве proxy-сервера на машине Pentium-90 c 32 MB оперативной памяти и 10 GB дисковой памяти (из которых под кэш отведено 500МБ), работающей под управлением FreeBSD-2.1.0-RELEASE. Пока этот сервер используется в экспериментальном режиме, но в ближайшее время мы планируем сконфигурировать все WWW кленты в ChgNet на использование proxy-сервера, после чего запретить выход наружу из ChgNet всех WWW-запросов (по 80 порту на граничном маршрутизаторе Cisco).

Литература

1. ftp://ftp.merit.net/nsfnet

2. http://www.w3.org/w3/Daemon/

3. http://harvest.colorado.edu/

 
(c) Department of applied network research SCC RAS
Slideshow is powered by phatfusion / Design by Next Level Design / Script by Joomla!
XXX Porn Tube