Сквид, не кэширующийся

если у Вас есть несколько сайтов, DFS и несколько целевых перенаправлений папки могут вызвать проблемы, если сайты не сделаны правильно.

8
задан 2 July 2012 в 08:59
2 ответа

В вашей конфигурации вы пропустили следующие строки:

acl myhosts src 192.168.0.0/255.255.0.0 (your internal network/netmask)
http_access allow myhosts

EDIT1:

Ваш веб-сервер не является вашим cache_peer. Пожалуйста, удалите эту строку из вашего конфигурационного файла. Squid имеет другой тип протокола (ICP) для взаимодействия между кешами, о котором apache не знает.

3
ответ дан 2 December 2019 в 23:00

По моему опыту, 3 наиболее распространенные причины, по которым Squid отказывается кэшировать контент:

  • Права доступа к каталогу кеширования, и вы позаботились об этом. Хорошо :)
  • http_access , но это не ваш случай, потому что вы видите строки TCP_MISS в директивах access.log
  • refresh_pattern

] refresh_pattern директивы управляют тем, как Squid считает объекты свежими или устаревшими, особенно в отношении того, как ваш браузер делает запросы, и какие HTTP-заголовки управления кешем обмениваются.

refresh_pattern Строки, которые у вас есть в вашей конфигурации, являются строками Squid по умолчанию. Однако я только что установил Squid на Ubuntu 2 недели назад, и с этими настройками по умолчанию он почти ничего не кэширует.

Squid ' документация по refresh_pattern должна объяснять значение каждой строки, но на самом деле я не могу понять, что означает эта документация. И, очевидно, я не одинок :)

Я бы посоветовал вам добавить один или несколько из следующих шаблонов и протестировать определенные файлы / URL-адреса, пока вы не будете удовлетворены. Пример:

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 3600 90% 43200

В этом случае вы указываете Squid считать, что все значки / изображения кэшируются от 1 часа до максимум полдня. Ваш браузер может отправлять HTTP-запросы с определенными заголовками кеша, которые в любом случае заставят Squid ответить TCP_MISS . Чтобы заставить кешированные ответы, даже вопреки ожиданиям клиента, вы можете сделать следующее:

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 3600 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private

То же самое касается больших файлов фильмов / аудио / iso:

refresh_pattern -i \.(mp[34g]|swf|wav|...)$ 43200 90% 432000

Если что-то еще не удается, используйте мощный молоток: ) но я не рекомендую это:

refresh_pattern . 3600    80%     14400

, с помощью которого вы сообщаете Squid, что он может кэшировать все по крайней мере на 1 час. Однако это почти наверняка сломает динамические приложения. Используйте его, если сервер, который вы пытаетесь кэшировать, в основном состоит из статического содержимого.

Также не забудьте максимальный_размер_объекта . По умолчанию это 20 МБ . Если объекты, которые вы пытаетесь кэшировать, больше этого размера, Squid не будет их кэшировать. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в старые времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

refresh_pattern . 3600    80%     14400

, с помощью которого вы сообщаете Squid, что он может кэшировать все по крайней мере на 1 час. Однако это почти наверняка сломает динамические приложения. Используйте его, если сервер, который вы пытаетесь кэшировать, в основном состоит из статического содержимого.

Также не забудьте максимальный_размер_объекта . По умолчанию это 20 МБ . Если объекты, которые вы пытаетесь кэшировать, больше этого размера, Squid не будет их кэшировать. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в старые времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

refresh_pattern . 3600    80%     14400

, с помощью которого вы сообщаете Squid, что он может кэшировать все как минимум на 1 час. Однако это почти наверняка сломает динамические приложения. Используйте его, если сервер, который вы пытаетесь кэшировать, в основном состоит из статического содержимого.

Также не забудьте максимальный_размер_объекта . По умолчанию это 20 МБ . Если объекты, которые вы пытаетесь кэшировать, больше этого размера, Squid не будет их кэшировать. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в старые времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

Мы говорим Squid, что он может кэшировать все как минимум на 1 час. Однако это почти наверняка сломает динамические приложения. Используйте его, если сервер, который вы пытаетесь кэшировать, в основном состоит из статического содержимого.

Также не забудьте максимальный_размер_объекта . По умолчанию это 20 МБ . Если объекты, которые вы пытаетесь кэшировать, больше этого размера, Squid не будет их кэшировать. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в прежние времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

Мы говорим Squid, что он может кэшировать все как минимум на 1 час. Однако это почти наверняка сломает динамические приложения. Используйте его, если сервер, который вы пытаетесь кэшировать, в основном состоит из статического содержимого.

Также не забудьте максимальный_размер_объекта . По умолчанию это 20 МБ . Если объекты, которые вы пытаетесь кэшировать, больше этого размера, Squid не будет их кэшировать. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в старые времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

Используйте его, если сервер, который вы пытаетесь кэшировать, в основном состоит из статического содержимого.

Также не забудьте максимальный_размер_объекта . По умолчанию это 20 МБ . Если объекты, которые вы пытаетесь кэшировать, больше этого размера, Squid не будет их кэшировать. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в старые времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

Используйте его, если сервер, который вы пытаетесь кэшировать, в основном состоит из статического содержимого.

Также не забудьте максимальный_размер_объекта . По умолчанию это 20 МБ . Если объекты, которые вы пытаетесь кэшировать, больше этого размера, Squid не будет их кэшировать. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в старые времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

При попытке кэширования больше, Squid не кэширует их. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в старые времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

При попытке кэширования больше, Squid не кеширует их. Я увеличил его в 10 раз, до 200 МБ. YMMV.

maximum_object_size 204800 KB

Кстати, ваша строка cache_peer неверна, потому что она указывает на Apache. cache_peer на языке Squid - это еще один экземпляр Squid выше в иерархии кешей, который в прежние времена обычно был сервером кеш-памяти ISP. Просто удалите эту строку.

И удачи :)

6
ответ дан 2 December 2019 в 23:00

Теги

Похожие вопросы