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

Лак: не отличается по характеристикам

Я установил лак на свой сервер centos, но у меня больше не было производительности, мой сайт загружался за 7 секунд до его установки, а после установки он все еще 7 секунд,
в чем проблема?

sub vcl_recv {

    remove req.http.X-Forwarded-For;
    set req.http.X-Forwarded-For = client.ip;

    if(req.http.cookie ~ "userID" || req.url ~ "^/administrator" || req.url ~ "^/component/banners" || req.request == "POST") {
        return (pass);
    }

    if(req.http.x-logged-in == "False" && req.request != "POST"){
        unset req.http.cookie;
    }

    if (req.http.Accept-Encoding) {
      if (req.url ~ "\.(jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf)$") {
        remove req.http.Accept-Encoding;
      } elsif (req.http.Accept-Encoding ~ "gzip") {
        set req.http.Accept-Encoding = "gzip";
      } elsif (req.http.Accept-Encoding ~ "deflate") {
        set req.http.Accept-Encoding = "deflate";
      } else {
        remove req.http.Accept-Encoding;
      }
    }

    if (req.url ~ "\.(js|css|jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|swf)$") {
        return (lookup);
    }

    if (req.backend.healthy) {
        set req.grace = 5m;
    } else {
        set req.grace = 1h;
    }

    return (lookup);
}

sub vcl_fetch {

    if(req.request != "POST" && beresp.http.x-logged-in == "False") {
        unset beresp.http.Set-Cookie;
    }

    set beresp.grace = 1h;

    if (beresp.status == 503 || beresp.status == 502 || beresp.status == 501 || beresp.status == 500) {
      set beresp.grace = 60s;
      return (restart);
    }

    unset beresp.http.etag;

    if(beresp.http.Cache-Control == "no-cache" || beresp.http.Cache-Control == ""){
        set beresp.http.Cache-Control = "max-age=300, public, must-revalidate";
    }

    set beresp.ttl = 5m;

    return (deliver);
}

и

NFILES=131072
MEMLOCK=82000
NPROCS="unlimited"
RELOAD_VCL=1
VARNISH_VCL_CONF=/etc/varnish/default.vcl
VARNISH_LISTEN_PORT=80
VARNISH_ADMIN_LISTEN_ADDRESS=127.0.0.1
VARNISH_ADMIN_LISTEN_PORT=6082
VARNISH_SECRET_FILE=/etc/varnish/secret
VARNISH_MIN_THREADS=50
VARNISH_MAX_THREADS=1000
VARNISH_THREAD_TIMEOUT=120
VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin
VARNISH_STORAGE_SIZE=1G
VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}"
VARNISH_TTL=120
DAEMON_OPTS="-a ${VARNISH_LISTEN_ADDRESS}:${VARNISH_LISTEN_PORT} \
             -f ${VARNISH_VCL_CONF} \
             -T ${VARNISH_ADMIN_LISTEN_ADDRESS}:${VARNISH_ADMIN_LISTEN_PORT} \
             -t ${VARNISH_TTL} \
             -w ${VARNISH_MIN_THREADS},${VARNISH_MAX_THREADS},${VARNISH_THREAD_TIMEOUT} \
             -u varnish -g varnish \
             -S ${VARNISH_SECRET_FILE} \
             -s ${VARNISH_STORAGE}"

Используются ли на ваших веб-страницах заголовки, указывающие на кешируемое содержимое?

https://stackoverflow.com/questions/9836281/http-headers-influencing-caching-tutorial-documentation#9836997

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

Некоторые страницы всегда нужно будет извлекать из кеша. Если для создания этих страниц требуется 7 секунд, проблема все равно остается.

РЕДАКТИРОВАТЬ:

Я подозреваю, что ваше веб-приложение не поддерживает кеширование, но, чтобы быть уверенным, в вашем вопросе нет этой информации. Я даже не знаю, успешно ли вы перенаправляли запросы через лак.

Если другого трафика не так много, то, возможно, захватите некоторый трафик в файл с помощью tcpdump, включая как запрос varnish и varnish к веб-серверу, так и ответы, а затем используйте что-то вроде wirehark, чтобы просмотреть все заголовки запросов и ответов . Возможно, вы также можете получить некоторые данные журнала из varnish, которые могут подтвердить, что является попаданием в кеш, а что нет.

При необходимости просмотрите этот учебник по заголовкам http, чтобы понять, что делают заголовки, а затем задайте более конкретный вопрос, если все еще не ясно, почему лак не кэширует то, что, по вашему мнению, следует.