-
Notifications
You must be signed in to change notification settings - Fork 0
/
Otimizar-Varnish
72 lines (56 loc) · 2.74 KB
/
Otimizar-Varnish
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Executar sudo systemctl edit --full varnish
para que seja criado a configuração em /etc/systemd/sytem/varnish.service
caso ela fique em /lib/systemd/system/varnish.service ela podera ser revertida para o original
O fato de /lib/systemd/system/varnish.serviceser revertido não deve ser realmente um problema, porque você deve ter uma cópia desse arquivo /etc/systemd/sytemque contenha os valores apropriados.
Se você executar sudo systemctl edit varnishe realizar alterações, um novo arquivo chamado /etc/systemd/system/varnish.service.d/override.confserá criado.
Se você chamar sudo systemctl edit --full varnishum arquivo chamado /etc/systemd/sytem/varnish.serviceserá criado.
Também é possível fazer isso manualmente executando sudo cp /lib/systemd/system/varnish.service /etc/systemd/system/, mas isso também requer chamar sudo systemctl daemon-reload.
Verificar erros na configuração:
varnishd -C -f /etc/varnish/default.vcl
nano /lib/systemd/system/varnish.service
LimitNOFILE=131072
LimitMEMLOCK=82000
ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 \
-a /var/run/varnish.sock,PROXY,user=varnish,group=www-data,mode=777 \
-f /etc/varnish/default.vcl -p tcp_fastopen=On -s Transient=malloc,512m \
-p workspace_client=256k -p workspace_client=256k -p thread_pool_add_delay=2 -p timeout_idle=75 -p idle_send_timeout=75 \
-p feature=+esi_disable_xml_check -p feature=+esi_ignore_https -p feature=+esi_ignore_other_elements \
-p http_resp_hdr_len=128k -p thread_pool_min=100 -p workspace_backend=256k \
-p thread_pool_max=1000 -S /etc/varnish/secret -s malloc,1024m
nano /etc/varnish/default.vcl
vcl 4.1;
#fix real ip cloudflare e proxy.
sub vcl_recv {
if (req.http.cf-connecting-ip) {
set req.http.X-Forwarded-For = req.http.cf-connecting-ip;
} else {
set req.http.X-Forwarded-For = client.ip;
}
...
#fazer cache da busca no catalogo (remover catalogsearch)
if (req.url ~ "/checkout") {
return (pass);
}
...
depurar sempre
sub vcl_deliver {
if (resp.http.x-varnish ~ " ") {
set resp.http.X-Magento-Cache-Debug = "HIT";
set resp.http.Grace = req.http.grace;
} else {
set resp.http.X-Magento-Cache-Debug = "MISS";
}
#desabilitar logs de acesso
systemctl disable varnishncsa
service varnishncsa stop
#comandos uteis para varnish
#parametros de configuração
varnishadm param.show
#variaveis de status
varnishstat
#verificar requisições com erros
varnishlog -q 'RespStatus == 503' -g request
#validar arquivo vcl
varnishd -C -f /etc/varnish/default.vcl
#salver log de requisições com erros
varnishlog -a -A -w /var/log/varnish/varnish50x.log -q "RespStatus >= 500 or BerespStatus >= 500"