Varnish для виртуальных хостов

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

В httpd.conf пишем:
 Listen 8080
 NameVirtualHost *:8080

В самих виртуальных хостах:
 <VirtualHost *:8080>
    ServerName          golas.ru
 </VirtualHost>
 <VirtualHost *:8080>
    ServerName          testservergolas.ru
 </VirtualHost>

Varnish запускаем на 80 порту DAEMON_OPTS=" -a 93.x.x.x:80 -f /etc/varnish/virtual.vcl -s malloc,1024M" и с кэшем в памяти. Ну и самое основное это наш конфигурационный файл virtual.vcl, в котором и производим настройки для каждого виртуального хоста.

Настраиваем бэкэнд сервер, для виртуальных он будет выглядеть как:
 backend default {
    .host = "127.0.0.1";
    .port = "8080";
 }
Редактирование заключается в "подстройке" двух функций vcl_recv и vcl_fetch с привязкой для виртуальных серверов, идея  вычленения самих виртуальных хостов с помощью req.http.host позаимствована по ссылкам свыше. Если виртуальных серверов много, то через include для каждого виртуального удобней.

И немного результатов производительности:
root@linux ~#ab -n 1500 -c 150  http://xxxxx.by/
без акселератора для magento, Requests per second получалось порядка:    0.87 [#/sec] (mean), с ним уже :    421.33 [#/sec] (mean)
Визуально сайт летает.
Level Up
Sponsors:

Контактная информация

Если у Вас есть какие-либо вопросы, Вы можете связаться с нами:

Отдел продаж: (с 10:00 до 18:00)

Icq: 155-10-6525

E-mail: sales@golas.ru