Существенное снижение производительности SSL Hitch

Я тестирую с помощью loader.io и заметил SSL (завершение) перед лак служит очень плохо.

Мой Digital Ocean график , похоже, показывает максимальное значение дискового ввода-вывода 1,21 МБ / с (разве это не невероятно мало? Мой SSD M4 работает со скоростью около 1,500 МБ / с, что не то же самое, что и 1,5. правильно?)

Статистика loader.io с 3000 запросов в секунду

Cache-Control:  max-age=333s

Я установил Hitch как завершение SSL следующим образом:

sudo nano /etc/hitch/hitch.conf
# ADD:
## Basic hitch config for use with Varnish and Acmetool

# Listening
frontend = "[*]:443"
ciphers = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"

# Send traffic to the Varnish backend using the PROXY protocol
backend = "[::1]:6086"
write-proxy-v2 = on

# List of PEM files, each with key, certificates and dhparams
pem-file = "/var/lib/acme/live/website.io/haproxy"
# END ADD

И покрыть лаком так:

sudo nano /etc/varnish/acmetool.vcl
# ADD: 
backend acmetool {
   .host = "127.0.0.1";
   .port = "402";
}

sub vcl_recv {
    if (req.url ~ "^/.well-known/acme-challenge/") {
        set req.backend_hint = acmetool;
        return(pass);
    }
}
# END ADD


# include acmetool settings in default.vcl
cp /dev/null /etc/varnish/default.vcl
sudo nano /etc/varnish/default.vcl
# ADD:
vcl 4.0;
import std;

backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

sub vcl_recv {
    if (std.port(local.ip) == 80) {
        set req.http.x-redir = "https://" + req.http.host + req.url;
        return(synth(850, "Moved permanently"));
    }
}
sub vcl_synth {
    if (resp.status == 850) {
        set resp.http.Location = req.http.x-redir;
        set resp.status = 301;
        return (deliver);
    }
}

include "/etc/varnish/acmetool.vcl";
# END ADD

Что не так с моим настройки и как я могу улучшить производительность?

0
задан 2 March 2017 в 22:45
2 ответа

Ezt a problémát akkor tapasztaltuk, amikor az SSLTerminációt ugyanazon a szerveren futtattuk, mint a lakkot. Végül meg kellett növelnünk az ulimit maximálisan megnyitott fájloknál, és a lakk tároló tárolt elemeket a RAM helyett a lemezre helyeztük.

Az Nginx szokása az ulimitek megtörése, amikor nagy forgalmat futtat a https-en keresztül. Lehet, hogy ezt optimalizálnia kell.

0
ответ дан 5 December 2019 в 08:33

Во-первых, вы должны убедиться, что Varnish эффективно кэширует вывод. Используйте varnishstat (подсчет попаданий по сравнению с промахами) или, еще лучше, varnishhist . Вы должны увидеть ответы от 1e-5 до 1e-4 (то есть от 0,01 мс до 0,1 мс). Обратите внимание, что совпадения представлены с помощью | , а промахи - с помощью # .

Еще одна возможная проблема - неувязка, как я сегодня заметил: syslog был подан с помощью « Слишком много открытых файлов ». Посмотрите в системном журнале, есть ли у вас такая же проблема. Чтобы исправить это в systemd , вам необходимо добавить LimitNOFILE в раздел [Service] вашего файла hitch.service .

0
ответ дан 5 December 2019 в 08:33

Теги

Похожие вопросы