Главная > Теория и практика > Varnish - быстрый старт

Varnish - быстрый старт

Varnish - это http accelerator. Если у Вас есть большое количество мелких файлов, отдающихся с диска и дисковый кеш Вас уже не спасает - это решение для Вас. Кроме всего прочего на основе varnish’a (но не только) можно построить архитектуру, позволяющую масштабировать это решение горизонтально без особых проблем.

Из сильных сторон varnish’a следует отметить:

  • VCL язык для кофигурирования позволяет настраивать сервер практически под любые нужды
  • Обслуживание контента даже с учетом мертвых или медленных бекендов
  • Web интерфейс для менеджмента и множество профилирующих и мониторинговых утилит(действительно высококлассных)

Более подробное описание достоинств варниша можно найти тут.

Установка и запуск

Varnish можно поставить практически на все известные дистрибутивы линуксов и юниксов. У Вас существует выбор из нескольких вариантов для установки, но вероятность присутствия варниша в пакетах вашей ОСи весьма велика, и компилировать руками врядли понадобиться.

Для Ubuntu все выглядит так:

sudo apt-get install varnish

И все… После установки из пакетов для варниша будет згенерирован скрипт управления (/etc/init.d/varnish) и сервер будет запущен со стандартными настройками.

Конфигурация параметров демона

После установки из пакетов в случае ubuntu у Вас появится файл /etc/default/varnish, который и стоит отредактировать:
sudo nano /etc/default/varnish

Самые распространенные конфигурационные параметры:

  • VARNISH_ADMIN_LISTEN_ADDRESS - какой адрес будет слушать демон
  • VARNISH_ADMIN_LISTEN_PORT - какой порт будет слушать демон
  • VARNISH_MIN_THREADS - минимальное количество воркеров (тредов) для запуска
  • VARNISH_MAX_THREADS - максимальное количество воркеров
  • VARNISH_STORAGE_FILE - расположение файла кеша
  • VARNISH_STORAGE_SIZE - размер файла (модет быть указан в человеко-читаемых числах:) )

Настройка, тюнинг и VCL

Все настройки для varnish’a указываются на специальном языке - VCL. Файл с настройками по умолчанию в случае пакетов ubuntu будет лежать тут: /etc/varnish/default.vcl

Файл делиться на несколько секций, но то что нужно для начала работы - это указание бекендов:

Бекенд - это сервер, на который варниш будет слать запрос, если у него нет соответсвующих данных в кеше:

backend www {
.host = “backend1″; # Хост бекенда
.port = “80″; # Порт бекенда
}

Varnish также поддерживает балансировку бекендов по принципу round-robin. Для этого нужно использовать объявление “директора”:

director wwwdirector round-robin {
{ .backend = www; }
{ .backend = { .host = “backend2″; .port = “80″; } }
}

После этого, в секции vcl_recv (процедура обработки контента) следует указать, что в качестве выбора бекендов стоит использовать директор:

sub vcl_recv {
if (req.request == “GET”) {
set req.backend = wwwdirector;
lookup;
}

pass;
}

Вот и все, тепер у Вас установлен и настроен варниш. Последнее действие - это перезапуск сервера:

sudo /etc/init.d/varnish restart

Подробная статья об установке и настройке Varnish’a

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Статьи по теме

  1. Sergey Shkolin
    24 Апрель 2009 в 10:35 | #1

    только укажи что синтаксис твоего поста актуален для varnish 2.+ :)
    дабы не наступили на те же грабли ;)

  1. Пока что нет уведомлений.