我想将Varnish的日志传送到MongoDB中以进行实时报告。 可以直接在Varnish中configuration,还是可以使用官方Varnish-Agent( https://github.com/varnish/varnish-agent )或其他代理或脚本?
我想daemonize在这个主题的答案https://serverfault.com/a/480871/94127 。 由于varnishlog有守护进程模式,我试图使用-D选项如下。 但时间戳没有出现。 varnishlog -I "Back healthy|Went sick" -w /var/log/varnish_health.log -D | awk '{ print strftime(), $0; fflush()}'
我目前正在Apache的前面运行所有HTTPstream量的清漆。 我添加了stunnel以便利用HTTPS连接的caching。 因此,对于HTTPS,stunnel会与清漆交谈,然后与Apache交谈。 问题是,当清漆将caching的页面返回到stunnel时,stunnel通过HTTPS将其发送到客户端,但其余资源(例如css文件,js文件等)由客户端通过普通HTTP请求。 我想这是由于caching页面包含链接到只有HTTP资源。 我的问题是: 这是反向SSL代理的常见问题? 有什么办法来防止这种forms发生? 比方说,我有一个域www.example.com,我希望它只能通过HTTPS访问,我也希望http://www.example.com不要返回404,而是要redirect到https:// www .example.com 。 这怎么能避免循环(即清漆redirect到通道,然后通过HTTP再次从清漆请求页面,然后又重新导向通道等)。 有没有什么方法可以让stunnel插入一个头文件,varnish会查找,以便在头文件不存在的情况下不执行任何redirect?
我们目前的Varnishconfiguration遇到一个奇怪的问题。 4x Web服务器(Windows 2003 Server上的IIS 6.5,每个安装在Intel(R)Xeon(R)CPU E5450 @ 3.00GHz四核,4GB RAM上) 3x Varnish服务器(Ubuntu 12.04.2上的varnish-3.0.3修订版9e6a70f)LTS-64位/精确,内核Linux 3.2.0-29-generic,每个都安装在Intel(R)Xeon®CPU E5450 @ 3.00GHz四核,4GB RAM) Varnish服务器的性能通常非常糟糕,因为如果我们closures其中一个,另外两个不能完成所有的请求并开始跳过节拍,导致待处理的请求,超时,404等等。 我们可以做些什么来改善我们的清漆性能? 考虑到在我们的最大峰值期间,我们每秒钟获得的请求less于5k,我们应该能够在没有任何问题的情况下为我们的页面提供服务。 我们使用标准的vanilla CFG,如varnishadm> param.show输出所示: acceptor_sleep_decay 0.900000 [] acceptor_sleep_incr 0.001000 [s] acceptor_sleep_max 0.050000 [s] auto_restart on [bool] ban_dups on [bool] ban_lurker_sleep 0.010000 [s] between_bytes_timeout 60.000000 [s] cc_command "exec gcc -std=gnu99 -g -O2 -pthread -fpic -shared – […]
我以前从来没有做过如此雄心勃勃的事情,所以请让我知道这是不是一个好主意,我应该考虑替代解决scheme。 所以我有三个服务器(以及更多),所有托pipe站点具有相同的TLD。 现在,我无法链接一个子域和一个服务器。 (由于不同的订阅级别和预期的性能等,有多个服务器) 我的理想情况是这样的:所有networkingstream量都会打印一个清漆caching,而清漆会从任何一台服务器托pipe该网站caching。 我可以使用Apache或Nginx的Web服务器,以较为方便。 在networking节点上总会有新的网站被创build,所以我想让我的Varnishcaching知道哪个网站在哪里,而不必手动input。 (所有的服务器都在Debian上。) 我一直在考虑这个Puppetmaster,但我找不到任何文件(也许我正在寻找错误的东西?)。 我也一直在考虑一个自定义的守护进程,但这似乎是重新发明轮子。 如果更方便,我可以使用Nginx作为caching代理,Varnish在这个用例中似乎更受欢迎。 谢谢
我们正在尝试在Cent OS 6.5 64上设置清漆,但是无法将其作为服务来使用。 什么可能是以下错误的原因? [root@server]# service varnish start Starting Varnish Cache: 0 [FAILED] 这工作完美,这是在configurationDAEMON_OPTS相同的参数。 varnishd -a :80 -T localhost:6082 -b localhost:8080 -u varnish -g varnish -s file,/var/lib/varnish/varnish_storage.bin,1G 我发现了一些关于如何在清漆论坛中进行debugging的信息: [root@server]# varnishd -C -f /etc/sysconfig/varnish Message from VCC-compiler: VCL version declaration missing Update your VCL to Version 4 syntax, and add vcl 4.0; on the first […]
假设我们有一个WordPress站点example.com 在我们的网站上,有多种产品。 url看起来像这样: example.com/products/product-1/ example.com/products/product-2/ example.com/products/product-3/ etc… 为了举例,我们假设如下: 每个产品页面需要10秒钟才能生成。 无法提高硬件或软件性能,因此生成产品页面总是最less花费10秒。 产品页面上的信息每小时更换一次。 我们假设每个产品页面内容每小时改变一次,并保持不变,直到下一个小时。 我们不想触发最终用户的caching再生。 换句话说,如果一个小时过去了,caching无效,这个必须通过服务器上的一些进程,NginX,Varnish等进行检查和更新,而不是最终用户。 我们不想让约翰等10秒,他是一个不耐烦的人。 我们不想在应用程序级别执行任何caching,不会执行任何memcahed操作,也不会执行任何wp_cache插件。 它必须通过NginX或Varnish或类似的东西。 我可以caching这些页面,并且每隔一个小时只能由NginX重新加载它们吗? 我需要清漆吗? 我将如何设置,以便所有页面自动重新caching?
我正在尝试为两个不同版本的网页测量单独的统计信息。 所以我需要将我的networkingstream量的一定比例redirect到不同于所请求的页面的页面(即page_1的请求的20%转到page_1.1)。 在我看来,清漆可以在本地统计stream量或请求。 我想我可以让Apache后端计算请求,插入一个自定义头,然后让Varnish发送一个重新启动到客户端,如果后端响应包含该特定的头。 任何想法或build议? 干杯, 杰里米 编辑:我忘了提及在光油前面有一个HAProxy istance,所以我在想另一个好办法做到这一点可以是: 关于HAProxy: 计数page1的请求 如果count> 80,则插入自定义标题 如果count = 100重置计数器 在清漆上 如果自定义头在请求问题客户端重新启动与page1-> page1.1重写 不知道如何用ACL,gpc0和stick-tables来做到这一点。 我正在学习寻找解决scheme:-) 一如既往,想法或build议是受欢迎的
我运行一个drupal 7应用程序(3backends),我有3个清漆服务器不断拒绝提取后端。 我在这里读了很多类似的错误,但仍然无法解决我的问题,扔503清漆取得失败的上师冥想。 我已经阅读所有的post,所有似乎都build议高超时,我已经设置为600s,许多不build议.probe,我有round.robin(切换后端),这里是我的后端configuration: backend project1 { .host = "myhost.ip"; .port = "80"; .connect_timeout = 600s; .first_byte_timeout = 600s; .probe = { .timeout = 600s; .interval = 10s; .window = 5; .threshold = 2; .request = "GET HTTP/1.1" "Host: example.com" "Connection: close"; } } 我已经监视了我的错误日志和访问日志,顺便说一下,我注意到我有太多这样的错误,但我不希望你有偏见。 [info] Client prematurely closed connection (broken pipe) 有时 reqv failed […]
最近我们在清漆前添加了nginx以用于ssl卸载。 我们正在将所有的http请求重写为https。 但是后来我们发现,即使是由nginx提供的http调用,响应时间也有显着增加。 而没有nginx的同样的请求服务清漆响应时间快得多。 我调整了代理缓冲区(2048 4k),以便响应不会存储在文件中,并closures代理缓冲。 但是这两种方法都没有帮助。 所以我克隆了nginx服务器(虚拟机),并发出了相同的请求对克隆的。 响应时间与清漆相当。 所以看起来,当nginx负载(大约700个请求/秒)时,响应时间似乎会增加。 有人能告诉我,我错过了明显的东西吗? 这是我的nginxconfiguration #nginx.conf worker_processes auto; worker_rlimit_nofile 90000; pid /var/run/nginx.pid; error_log /var/log/nginx/error.log error; events { worker_connections 40000; multi_accept on; use epoll; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 20M; client_body_buffer_size 128k; server_tokens off; keepalive_requests […]