LINUX.ORG.RU
ФорумAdmin

Проблема с кэшированием squid

 


0

1

Здравствуйте! Настраивается squid с одной единственной целью - для предотвращения чрезмерной загрузки сервера и локальной сети кэшировать странички с сервера, расположенного в локальной сети, содержащие видеофайлы с последующей выдачей из кэша локальному браузеру. Всё это будет висеть на стене и демонстрироваться на больших панелях посетителям учреждения. Страничка генерируется сервером автоматически и ссылка имеет приблизительно следующий вид: http://test-dev04:8080/pages/graphicaldisplay/graphicaldisplay.jsp?preview=tr... . Проблема заключается в следующем: squid ни под каким видом не желает кэшировать видео файлы, причём именно в данном случае. С ютуба всё отлично кэшируется. Бьюсь уже неделю и не знаю, что можно ещё сделать. Вот конфиг:
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_access deny all
http_port 3128
cache_dir ufs /var/spool/squid3 100000 16 256
maximum_object_size 50 GB
coredump_dir /var/spool/squid3
refresh_pattern ^http: 10080 100% 500000 override-expire override-lastmod ignore-reload ignore-private
refresh_pattern (\.mp4|\.flv)$ 10080 100% 500000 override-expire override-lastmod ignore-reload ignore-private
quick_abort_min -1 KB
dns_defnames on

Страничка генерируется сервером автоматически и ссылка имеет приблизительно следующий вид:

А ссылка на сам видеофайл какой вид имеет?

Можно еще «ignore-no-cache ignore-auth» добавить в refresh_pattern

Kuzz ★★★
()
Ответ на: комментарий от Kuzz

Ссылка на файл такая:http://test-dev04:8080/cms/content/verticalmessaging/campaigns/test.mp4
ignore-no-cache - сквид при проверке синтаксиса ругается, что опция устарела и просит убрать. Если не убирать - работать будет, но не так же не кэширует. ignore-auth - добавил, но не помогло

eol3000
() автор топика
Ответ на: комментарий от eol3000

В логах ошибок нет, я так понимаю?

Если говоришь, что с Ютуба кэширование работает - попробуй поиграть с размером кэшируемых файлов. Ну там фильм в HD какойнить запусти. Посмотри как поведет себя. Или попробуй на сервер, откуда берешь видео, положи файл нужно формата, например, объемом 100 метров и посмотри как себя будет вести браузер.

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

afdark
()
Ответ на: комментарий от afdark

В логах всё ок вроде. И с размерами играться пробовал. С внешки всё кэширует, с локального сайта - не хочет, хоть убей его. И на внешку пробовали выносить - та же ерунда.

Я тоже думаю, что скорее всего какие то особые правила нужно задать, но вот какие - ума не приложу. Ещё может быть дело в особой структуре сайта.

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

eol3000
() автор топика
Ответ на: комментарий от eol3000

Уточни у разрабов - «небольшими кусочками» - это по сколько?

Попробуй в конфиг сделать так

minimum_object_size 2 KB

maximum_object_size 61440 KB

afdark
()
Ответ на: комментарий от afdark

Режим обычный, аутентифицирующий. Насчёт кусочков - попробую уточнить, но обращения к ним - это целая история, они в Швеции находятся.) Минимумы и максимумы сейчас попробовал прописать, не помогло

eol3000
() автор топика
Ответ на: комментарий от afdark

Насколько я понял, этот режим для исходящего трафика и должен стоять на стороне сервера. Или ошибаюсь ?

eol3000
() автор топика
Ответ на: комментарий от eol3000

Обратный прокси-сервер Squid получает данные у HTTP сервера от имени клиента и передает их обратно клиенту (например, в Интернет). Этот режим позволяет осуществить:

Использование кэширования, которое снижает нагрузку на HTTP сервера;

afdark
()
Ответ на: комментарий от afdark

Вобщем в итоге плюнул я на squid. Смысла нет в таком тяжёлом и сложном в настройке решении для простой задачи. Поставил polipo, он прямо из коробки, без всяких настроек, заработал как надо. После выходных надо ещё будет посмотреть, что там со временем хранения объектов в кэше и с объёмом самого кэша.
Хоть и не получилось ничего со squid, но в любом случае спасибо огромное за помощь

eol3000
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.