Я следил за учебником The Perfect Server - Ubuntu 11.10 [ISPConfig 3] здесь. Я запускаю сервер Ubuntu 11.04 (Natty Narwhal) с 1024 RAM в Rackspace. Я прошел и обновился до ISPConfig 3.0.4. До сих пор все работало отлично, когда я решил попробовать установить Varnish. Первоначально я установил Varnish, выполнив следующую команду:
apt-get update
apt-get upgrade
apt-get install varnish
По-видимому, была установлена версия Varnish 2.x, поэтому я вернулся и добавил репозитории для пакетов, предоставленных varnish-cache.org
curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
echo "deb http://repo.varnish-cache.org/ubuntu/ lucid varnish-3.0" >> /etc/apt/sources.list
apt-get update
apt-get install varnish
Это обновило мою версию Varnish до 3,0.2
Затем я приступил к внесению следующих изменений:
vim /etc/default/varnish
change DAEMON_OPTS to port 80:
vim /etc/apache2/ports.conf
NameVirtualHost *:8000
Listen 8000
vim /etc/apache2/sites-available/default
<VirtualHost *:8000>
vim /etc/apache2/sites-available/ispconfig.vhost
Listen 8080
NameVirtualHost *:8080
<VirtualHost _default_:8080>
Затем я настроил другие мои vhosts на использование 8000 (порт apache2)
, поэтому со всем этим набором я перезапустил Apache2 и Varnish для тестирования. Я использовал Firebug в Firefox 11.0
Похоже, что вывод того, что я вижу, не указывает на то, что Varnish работает полностью правильно:
Прежде всего, я вижу: X-Varnish 1644834493 но я слышал, что если у вас нет двух меток времени рядом, то это, вероятно, работает неправильно, поэтому, например, я подумал, что могу увидеть что-то вроде:
X-Varnish 1644834493 1644837493
Также, если я заметил это в выводе, который, кажется, быть непостоянным:
X-Drupal-Cache MISS
Бывают случаи, когда он также говорит HIT ....
Итак, у меня возникает вопрос, я думаю, что Varnish частично работает, однако, почему Разве я не вижу две отметки времени на X-Varnish, как я думаю, что должен, и правильно ли выводится скриншот, который у меня есть? Если Varnish не работает, может ли кто-нибудь сказать мне, что я делаю не так?
Заранее спасибо.
Относительно заголовка X-Varnish: Первый идентификатор - это внутренний идентификатор запроса, поэтому он должен меняться каждый раз. Если есть второе значение, то Varnish предоставляет вам кэшированный объект. Второй ID - это ID внутреннего кэша этого объекта.
Что касается вашего предположения, вы правы, что Varnish не доставил кэшированный контент. Вы можете дополнительно проверить заголовок Age, который сообщает нам, что контент старше 0 секунд (так что он свежий). Допустимый максимальный возраст ответа установлен в заголовке Cache-Control: в вашем случае 180 секунд. Это не очень долго, но достаточно для дальнейшего тестирования.
Пожалуйста, проверьте заголовки ответов на следующие действия (позаботьтесь о включении кеширования в вашем браузере - для Firefox вы можете включить / отключить его через панель веб-разработчика):
Браузер по-разному обрабатывает два способа получения контента (подробности см. в заголовках запроса). Нажав кнопку перезагрузки (или отключив кеширование через панель веб-разработчика), ваш браузер отправляет заголовки Cache-Control, чтобы принудительно доставить свежий контент, и Varnish учитывает их. Загружая один и тот же URL-адрес во второй раз (например, щелкая ссылки, используя кнопки вперед и назад, нажимая ввод в адресной строке браузера ...), ваш браузер не отправляет эти заголовки Cache-Control, а Varnish может доставлять кэшированный контент .
Если вы хотите кэшировать такое поведение и хотите принудительно использовать кэшированный контент, вы можете оптимизировать конфигурацию Varnish. Но это уже другая история.
Относительно вашего заголовка X-Drupal-Cache: этот заголовок устанавливается серверной частью Varnish. Это говорит о том, что Varnish использовал свежий контент для своего кеша или ответа.