Главная > Web-хостинг > Varnish: бесплатный кэш-сервер, повышающий производительность вашего веб-сайта

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


8 апреля 2013, 14:40. Разместил: Design FactoRy
Комплексные веб-приложения и большие объемы трафика сильно сказываются на работе веб-сервера. Веб-серверу и серверу баз данных необходимо собирать вместе необходимые данные при каждом посещении страницы, и представлять все это в виде HTML-кода, чтобы браузер пользователя смог сгенерировать страницу на его основе. Не удивительно, что решения по созданию и хранению кэша становятся такими популярными в последние годы.

Кэширование – это размещение уже загруженного контента в памяти, вместо постоянной его компиляции. Можно отредактировать продолжительность жизни кэша в зависимости от требования отдельного веб-проекта – от минут до нескольких дней. Лишь некоторые веб-приложения на сегодняшний день имеют продуманную стратегию по кэшированию данных. Если вам нужен реальный результат – скажем, увеличение производительности в десятки раз, – то вам определенно следует рассмотреть некоторые сервисы по кэшированию данных.

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

Varnish легко установить, и использовать даже при стандартной конфигурации

Varnish может напомнить вам о мощном моющем средстве, но на самом деле это невероятно эффективный инструмент кэширования данных. Если задуматься, то varnish (пер. – полировка) – это именно то, что с нашими сайтами делают инструменты кэширования. Разработчики обещают увеличение скорости работы от 300 до 1000 раз. Varnish нацелен на, в отличие от других похожих инструментов, HTTP, и именно такие изменения может почувствовать средний посетитель. Многим может показаться, что использовать Varnish невероятно просто.

На самом деле, чтобы использовать Varnish, вам потребуется веб-сервер (а как иначе?), который работает на базе Linux. Корневая папка понадобится только в процессе установки. Так как Varnish хранит весь кэш в памяти, вам потребуется довольно много памяти – чем больше, тем лучше. Здесь нет какого-либо технического минимума, но мы бы рекомендовали вам как минимум иметь 2гб ОЗУ (даже для небольших проектов).

Проект предлагает вам готовые к установке дистрибутивы.

Ubuntu

curl http://repo.varnish-cache.org/debian/GPG-key.txt | sudo apt-key add -
echo "deb http://repo.varnish-cache.org/ubuntu/ precise varnish-3.0" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install varnish

CentOS/Fedora

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release-3.0-1.noarch.rpm
yum install varnish

Кэш-сервер должен пройти установку без каких-либо ошибок и сообщений. На данный момент он пока не функционирует. Представление контента до сих пор производится при помощи Apache или другого веб-сервера, который вы используете. Нам нужно немного изменить конфигурацию, чтобы удостовериться в том, что Varnish играет главную роль.

К счастью, изменений не так и много. Основной файл конфигурации Varnish хранится в /etc/default/varnish. Единственное необходимое изменение заключается в устранении знаков цитирования из “DAEMON_OPTS”. После этого файл должен выглядеть следующим образом:

DAEMON_OPTS="-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m"

Второй этап заключается в том, что мы, посредством файла default.vcl в /etc/varnish/default.vcl, сообщаем кэш-серверу о том, где запущен наш веб-сервер. Веб-сервер может быть запущен как на той же машине, так и на внешнем источнике. Рекомендуем вам задуматься о том, чтобы запускать кэш-сервер на отдельном сервере.

backend default {
.host = "127.0.0.1";
.port = "8080";
}

Веб-мастера заметят, что мы поменяли порт веб-сервера на 8080, и зачастую это не вызывает никаких проблем. По крайней мере, если используются стандартные настройки. Чтобы запустить сервер, используя уже новую конфигурацию, нам нужно проделать еще кое-что – сообщить веб-серверу, что он с этого момента должен работать на порте 8080. Это можно сделать при помощи файла конфигурации сервера. В Apache этот файл находится в /etc/apache2/ports.conf.

NameVirtualHost 127.0.0.1:8080
Listen 127.0.0.1:8080

Важно: не забудьте изменить конфигурацию vhost – здесь также следует изменить настройку порта. В противном случае, ваш Apache не будет работать правильным образом.

Еще кое-что: после перезагрузки как Varnish, так и вашего Apache или любого другого веб-сервера, который вы используете, все должно заработать так, как надо. Вскоре вы заметите скоростное чудо Varnish. Так как этот кэш-сервер невероятно быстрый, мы осмеливаемся рекомендовать использовать его даже на самых крупных веб-проектах. Перед тем, как вложить финансы в апгрейд аппаратного оснащения, мы рекомендуем вам попробовать Varnish. Он может исключить необходимость покупки нового оборудования. Если вам нужна более детальная документация, то мы приглашаем вас пройти на страницу разработчиков, и ознакомиться с представленной там документацией.
Вернуться назад