Назад | Перейти на главную страницу

Varnish возвращает 503, FetchError (не удалось получить хранилище)

В текущей настройке у нас возникла проблема с Varnish, мы запускаем CentOS 5.7 x86_64 xenpv с Cpanel WHM, размещенную на VPS.net.

Иногда мы получаем медитацию гуру от Varnish, и когда мы смотрим в журнал varnishlog с помощью следующей команды varnishlog -d -c -m TxStatus:503 он возвращает вывод, аналогичный следующему:

   15 VCL_call     c recv
   15 VCL_acl      c NO_MATCH devs
   15 VCL_return   c pass
   15 VCL_call     c hash
   15 Hash         c ****
   15 Hash         c *************
   15 VCL_return   c hash
   15 VCL_call     c pass pass
   15 Backend      c 12 default default
   15 TTL          c 1835862523 RFC 0 -1 -1 1332454056 0 1332454055 375007920 0
   15 VCL_call     c fetch hit_for_pass
   15 ObjProtocol  c HTTP/1.1
   15 ObjResponse  c OK
   15 ObjHeader    c Date: Thu, 22 Mar 2012 22:07:35 GMT
   15 ObjHeader    c Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 mod_fcgid/2.3.6
   15 ObjHeader    c X-Powered-By: PHP/5.3.9
   15 ObjHeader    c Expires: Thu, 19 Nov 1981 08:52:00 GMT
   15 ObjHeader    c Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
   15 ObjHeader    c Pragma: no-cache
   15 ObjHeader    c Content-Type: text/html; charset=utf-8
   15 ObjHeader    c X-Cacheable: NO:Cache-Control=private
   15 FetchError   c chunked read_error: 12 (Could not get storage)
   15 VCL_call     c error deliver
   15 VCL_call     c deliver deliver

Насколько я понял, мы могли бы попробовать увеличить nuke_limit, но в настоящее время у нас nuke_limit составляет 500, а при запуске varnishstat -1 -f n_lru_nuked мы «всего» получаем всего 1031, хотя мы видели, что ошибка произошла на нескольких страницах.

Когда мы затем запускаем top, чтобы увидеть, сколько памяти использует Varnish, он показывает только то, что он использует 763 м, хотя мы установили разрешение на использование 1200 м.

Есть идеи, в чем может быть проблема?

«Не удалось получить хранилище» подсказывает мне, что Varnish не может сохранить ваш объект, который он хочет получить. Вы достигли максимального размера кеша? Вы можете опубликовать вывод varnishstat?