Questions tagged «varnish»

Varnish是用于Linux / Unix系统的高性能反向代理和负载平衡器软件包。


2
清漆守护程序未在配置的端口上侦听
我正在尝试在Ubuntu 16.04上安装清漆, 我读了几篇文章都没有用。从我阅读的内容来看,自ubuntu 15.04起,配置清漆的方式已更改(由于systemd)。 现在,我陷入困境,这是行不通的: / etc / default / varnish: DAEMON_OPTS="-a :80 \ -T localhost:6082 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s malloc,256m" /etc/varnish/default.vcl(通常指向指向127.0.0和端口8080的主机,但出于调试目的,我将其修改为外部域)vcl 4.0; # Default backend definition. Set this to point to your content server. backend default { .host = "www.varnish-cache.org"; .port = "80"; } /etc/apache2/ports.conf …

7
清漆-> Nginx-> Apache好主意?
我正在考虑新的Web服务器的体系结构。将Varnish作为Nginx前面的缓存作为反向代理,并在apache前面为所有繁重的工作提供静态文件是一个好主意吗? 我将在Rails应用程序上运行php和ruby。 将php请求通过其他两个过程传递给apache会产生太多开销吗? 非常感谢!

5
重新启动崩溃进程的简单方法?
我需要监视Web服务器上运行的多个进程。由于某种原因,清漆目前每天或每两天崩溃一次。我正在使用monit自动重新启动清漆,但是它不起作用。这是我的Varnish的monit.conf条目。 check process varnish with pidfile /var/run/varnish.pid start program = "/etc/init.d/varnish start" with timeout 60 seconds stop program = "/etc/init.d/varnish stop" if failed host <my server ip> port 80 protocol http and request "/blank.html" then restart if 3 restarts within 5 cycles then timeout group server 日志文件显示,清漆停止运行后,尝试重新启动之后全部失败。然后最终monit停止监视清漆。 有人对我如何解决此问题有建议吗?还是更好,您能建议其他自动监视和重新启动崩溃进程的简单方法吗?谢谢!

1
从Varnish 4获得顶级MISSES和HITS的命令是什么?
对于工作,我在CentOS上使用Varnish 3,但在家里,我在Ubuntu 14.04上使用Varnish 4。 在工作中,我使用以下命令: Top hits: varnishtop -i rxurl Top Misses: varnishtop -i txurl 但是由于某些原因,它们无法在Varnish 4 Ubuntu上运行。 Varnish 4的这些命令等效于什么?
10 varnish 

1
Varnish如何处理存储空间不足?
我使用的是Varnish 3.0.3(撰写本文时为最新版本),带有或多或少的默认安装,并使用以下内容进行存储: # # Cache file location VARNISH_STORAGE_FILE=/var/lib/varnish/varnish_storage.bin # # # Cache file size: in bytes, optionally using k / M / G / T suffix, # # or in percentage of available disk space using the % suffix. VARNISH_STORAGE_SIZE=4000M # # # Backend storage specification VARNISH_STORAGE="file,${VARNISH_STORAGE_FILE},${VARNISH_STORAGE_SIZE}" # 可以缓存的大多数页面将具有非常长的TTL。我正在使用的网站很大,并且有数百万个页面,可能无法满足上述存储容量(4 GB)。 …
9 cache  varnish  ttl 

4
为什么用Varnish缓存静态文件,为什么不通过
我有一个运行nginx / php-fpm /清漆/ wordpress和Amazon s3的系统。 现在,在设置系统时,我查看了许多配置文件,在所有文件中,我都发现了以下内容: /* If the request is for pictures, javascript, css, etc */ if (req.url ~ "\.(jpg|jpeg|png|gif|css|js)$") { /* Remove the cookie and make the request static */ unset req.http.cookie; return (lookup); } 我不明白为什么要这么做。大多数示例还将NginX作为Web服务器运行。现在的问题是,为什么要使用清漆缓存来缓存这些静态文件。 仅缓存动态文件对我来说更有意义,这样php-fpm / mysql不会受到太大影响。 我是正确的还是我在这里错过了什么吗? 更新 我想根据给出的答案向问题中添加一些信息。 如果您拥有一个动态网站,其内容实际上发生了很大变化,那么同步就没有意义。但是,例如,如果您将WordPress用于静态网站,则可以将其缓存很长时间。 也就是说,对我来说更重要的是静态内容。我在不同的缓存应用程序和Web服务器应用程序上找到了一些测试和基准的链接。 http://nbonvin.wordpress.com/2011/03/14/apache-vs-nginx-vs-varnish-vs-gwan/ NginX实际上可以更快地获取静态内容,因此让它通过更有意义。NginX非常适合静态文件。 - …

2
如何阅读清漆直方图?
如何读取清漆直方图/图形?我知道x轴是对数刻度。 特别: 我看到9个“ |”或高速缓存命中发生y=1e-4,每个“ |”分别是什么 参考?页?文件? 我看到这9个“ |”左边的命中次数较少,而右边的命中次数则较少。那些是什么?他们需要更长的时间(正确)和更短的时间(左边)吗? 在顶部,剩下的是什么1:2?和n = 134 另外,我注意到缓存命中始终位于缓存未命中的左侧,即它们1e-x位于事物的一边,而缓存未命中则在+指数以下。那有什么意义?是这样的时间,如果是,那是什么时间……? 非常感谢! X轴 1:2, n = 134 hostname # # # # # | # | # | # | # | ### | ### || ### ## ||| ### ## # # ## |||| #### #### ## ## …
9 varnish  graph 

3
让清漆从高速缓存中获取旧数据时发送新数据吗?
我正在缓存动态生成的页面(PHP-FPM,NGINX),并在它们前面涂上清漆,效果很好。 但是,一旦达到缓存超时,我将看到: 新客户请求页面 清漆识别缓存超时 客户等待 清漆从后端获取新页面 varnish将新页面交付给客户端(并且还缓存了页面,用于下一个立即获取它的下一个请求) 我想做的是: 客户要求页面 清漆识别超时 清漆将旧页交付给客户 清漆从后端获取新页面并将其放入缓存 以我为例,过时的信息不是一个大问题,尤其是当我们谈论几分钟后的缓存超时时,这并不是一个好地方。 但是,我不想惩罚用户排队等待,而是立即交付东西。有可能吗? 为了说明这一点,这是对配置为缓存一分钟的服务器运行围攻5分钟的示例输出: HTTP/1.1,200, 1.97, 12710,/,1,2013-06-24 00:21:06 ... HTTP/1.1,200, 1.88, 12710,/,1,2013-06-24 00:21:20 ... HTTP/1.1,200, 1.93, 12710,/,1,2013-06-24 00:22:08 ... HTTP/1.1,200, 1.89, 12710,/,1,2013-06-24 00:22:22 ... HTTP/1.1,200, 1.94, 12710,/,1,2013-06-24 00:23:10 ... HTTP/1.1,200, 1.91, 12709,/,1,2013-06-24 00:23:23 ... HTTP/1.1,200, 1.93, 12710,/,1,2013-06-24 00:24:12 ... …

2
清漆用尽开放端口,大量SYN_SENT连接
最近,我们的Varnish(3x)-> Apache(3x)设置遇到了问题,导致SYN_SENT连接数量激增。 高峰本身是由于到达站点的新流量(不是任何类型的DDOS)造成的,并且似乎我们的Varnish机器在将流量转发到后端服务器时遇到问题(Apache流量下降与清漆的峰值相关),从而使可用端口池拥塞SYN_SENT。 在Apache(15s)上启用了保持活动状态。 故障在哪一边?流量很大,但绝不会导致此类设置(3台Varnish前端计算机,3台后端Apache服务器)停顿。 请帮忙。 通过防火墙的Munin屏幕截图在这里。 漆 ~$ netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c 9 CLOSE_WAIT 12 CLOSING 718 ESTABLISHED 39 FIN_WAIT1 1714 FIN_WAIT2 76 LAST_ACK 12 LISTEN 256 SYN_RECV 6124 TIME_WAIT /etc/sysctl.conf(消失) net.ipv4.netfilter.ip_conntrack_max = 262144 net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 60 net.ipv4.ip_local_port_range = 1024 65536 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 …

5
哪些反向代理支持HTTP / 1.1 ETag和If-None-Match标头?
我正在为电子商务平台开发一个缓存系统,该系统将使用反向代理进行缓存。我计划通过使用正确的HTTP / 1.1标头来处理无效。也就是说,我将在第一代内容上设置一个ETag,并将该ETag值缓存在应用程序中。Cache-Control标头将指定“必须重新验证”,因此代理应在随后的带有ETag的请求上设置If-None-Match标头。应用程序将查找缓存的ETag值,如果匹配则将发送304响应,否则将生成完整的200响应。 我希望使用nginx,但我不能确定它是否支持ETags(文档表明它不支持ETags,但也许它们已经过时了?)。清漆是另一种选择,但我在这里也不满意。 哪些反向代理服务器完全支持ETag?我希望它实际上可以缓存多个版本,因此我可以执行拆分测试之类的事情而不必禁用缓存。也就是说,HTTP / 1.1指定客户端可以发送具有多个ETag值的If-None-Match,并且服务器应以匹配的ETag响应(如果有)。如果反向代理保留多个副本而不只是最后看到的值,并让服务器在每个要使用的请求上指定,那将是理想的。

2
是否可以同时使用内存和磁盘存储来运行清漆?
我对最大化变化缓慢的网站的缓存命中率和效率很感兴趣。虚拟主机没有大量的RAM,但是我想使用可用于清漆的东西,但是如果没有足够的内存,可以使用磁盘缓存。 是否可以使用单个清漆实例来做到这一点?该文档描述了“文件”和“malloc的”存储为不同的选项。
8 varnish 


1
如何记录响应请求的后端名称
我正在使用varnishncsa记录请求,这些请求花了很长时间才能在后端服务器上通过以下命令得到响应: varnishncsa -F '%t "%r" %s %T' | awk '$7 > 10 {print}' 我试图在后端名称上添加信息,但是此信息未显示在varnishncsa输出中: sub vcl_backend_response { std.log("backend_name:" + beresp.backend.name); } 我做错了什么?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.