Пользователь
0,0
рейтинг
2 апреля 2009 в 18:58

Администрирование → Squid для самых маленьких. Часть2. Настройка

Доброго времени суток.
Это продолжение статьи Squid для самых маленьких
В этой части я расскажу вам про то, какие основные параметры необходимо менять, хотя и не обязательны, ведь разработчики самого сквида выставили довольно хорошо львиную долю значений. Итак, начнем по порядку...
Так как я часто работаю через ssh соединение, иногда на некоторых серверах бывает отвратительная скорость, в связи с этой проблемой рекомендую писать все в самом начале конфига, что дает ему довольно хорошо читаемый вид, и не нужно поиском искать все значения. Хотя, хочу заметить, что все второстепенные параметры(кроме списков доступов ACL и парочки других) не задаются в конфиге по умолчанию. На деле же прописан дефолтный параметр, и он имеет комментарий. Так что нам не придется искать каждый параметр. НО(!!!) если вы уже правили, то не нужно начинать писать все в самом верху, необходимо найти рас комментированные значения и менять их. Поехали.

Первое что я советую сметить, хотя бы на время тестирования это параметр shutdown_lifetime по дефолту он имеет значение 30 секунд, что очень долго. Приведу пример, иногда бывает такое, что ты что-то накосячил, и инет у всего офиса пропал, ты быстро изменил свою ошибку, но сам сквид после того как ты ему послал SIGTERM или SIGHUP(перезагружаешь) ждет время, которое стоит в этом параметре, в течении которого новые соединения не будут устанавливаться, а старые должны закончить закачку. Я обычно ставлю:
shutdown_lifetime 5
Слудущими параметрами будут параметры описывающие кеш cache_dir, maximum_object_size
Итак, если у нас стоит нормальный шлюз, которые проксирует инет, и в организации хватает компов >30, то нужно ставить минимум 2 гига, хотя два в принципе и достаточно большинству. У параметра cache_dir много параметров, я не хочу на них останавливаться, ибо все это отлично описано в манах. Я привиду лишь, то что считаю наиболее рациональным, стандартные 256 Мб ни куда не годятся :)
cache_dir ufs /var/squid/cache 2048 16 256
после этого необходимо пересоздать каталоги командой Squid -z, что сотрет весь наш предедуший кеш.

maximum_object_size говорит сквиду стоит ли записывать файлы размером больше определенного.
maximum_object_size 10024, мне кажется что этого вполне хватит, потом некоторые можно будет выуживать из кеша. Иногда полезно если у вас работники качают свежую версию, например Adobe Flash Player.

visible_hostname "%Имя хоста%"

Совет



Вот кажется и все. Как я уже говорил, что в сквиде все уже хорошо настроено, и не нуждо беспокоиться… Хочу поделиться одним очень замечательным советом, который мне смог сэкономить много времени это команда
squid -k reconfigure
Этой командой сквид перечитает свой конфиг файл, и применит его. Теперь не нужно будет постоянно перезапускать сквид. Даже если у вас в конфиге остались ошибки, сквид на них сругнется, но работать останется на предыдушей версии конфига, которая находится в памяти.
В следущей части планирую рассказать про delay pools доступным и поянтным языком, таким, каким я это все понял… Как и все остальное…
Если встретите какиенибудь не точности, сильно не пинайте, пишу по памяти…
ЗЫ есть очень отличный мануал по параметрам сквида www.bog.pp.ru/work/squid.html, советую всем его пролистать. Много чего узнаете, а может еще чтонибудь интерестное найдете.
ЗЫЫ Ух… вроде успел, пока карма не ушла в минус… ))
Кросспост из моего блога
Илья @Bkmz
карма
32,2
рейтинг 0,0

Самое читаемое Администрирование

Комментарии (11)

  • 0
    А есть какой-нибудь способ, чтобы увидеть bandwidth для конкретного пользователя (если с авторизацией ходят)? Очень хочется для реалтайм статистики.
    • +3
      Ну, мне хватает связки:
      iftop -i ethX -P -B для просмотра самых активных качальщиков
      и
      tail -f /var/log/squiq/access.log | grep 172.16.0.XX для просмотра любого пользователя по IP.
      А еще есть PHP-скрипт SqStat для просмотра трафика, текущего через сквид, по пользователям. Он, конечно, лишнего показывает по-умолчанию (кто что качает), я же его приспособил для целей, чтобы в чате не орали: «Кто качает???!!!111адинадинадин» :), а сами смотрели — для простого отображения скорости закачки по юзерам:

      (На скриншоте просто никто не качает)
      • 0
        Спасибо, давно искал похожую вещь. Огромное спасибо!!!
        Иногда не хочется логиниться в систему :) вот и поможет нам этот скрипт
      • 0
        Отличная вещь! То что я так давно искал! Правда, придется немного переделать, чтобы присобачить к нашей статистике.

        Спасибо!
  • 0
    RealTime статистику умеет собиратьи показывать консольная тулза squidview. Поставь, я точно не помню как для конкретного юзера, справка открывается h, если мне не изменяет память то T или O, и начнется сбор данных о том сколько скачал тот или иной пользователь.
    отличная программа, иногда перед тем как начать тестить во время рабочего дня минуты смотрю в неё, если никто ничего не качает то лезу настраивать… Полезнаю вещь, но инфы в нете мало почемуто…
  • 0
    Спасибо за статью.

    Очень хотелось бы задать вопрос про такую фичу (надо реализовать, но не знаю пока как :)) — задача состоит в том, чтобы файлы с определенным расширением отдавались моему скрипту. Скрипт получает данные на стдин, меняет кое-что в файле, и отдает через стдаут. Ну и чтобы сквид затем отдал измененный файлик юзеру :)
    • 0
      Если я правильно понимаю, то у вас этот скриптик идет как redirector(url_rewrite_program)? можно поподробнее.
      Для того чтобы отдавать только с опр разрешением не проблема, urlpath_regex и пишите регулярное выражения по разрешению, благо гугл знет как :) сам с регэпсами не сильно знаком, не берусь…
      И можно узнать что и зачем делает этот скрипт, может я себе тоже такой же хочу :)
      • 0
        Хотим патчить .torrent файлы и прописывать там локальный трекер)
  • +1
    вот продолжение уже интереснее начала, а жду когда доберётесь до привязывания сквида с доменом, что бы была авторизация доменных юзеров, да и без домена тоже интересно
  • 0
    2010/12/01 01:09:02| WARNING: No units on 'shutdown_lifetime 5', assuming 5.000000 second

    т.е. нужно указывать тайм юнитс.

    shutdown_lifetime 5 seconds
    • 0
      Сам только что с ней столкнулся, и нашел решение в своем топике =)
      Во второй ветке такого не было, решил поковырять 3-чку, вот и наткнулся на грабельки

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.