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