不寻常的间歇性页面加载

时间:2017-06-13 21:55:11

标签: php apache magento-1.9 varnish-4

我遇到了一个问题,甚至不知道如何开始诊断它。

我当前的服务器设置如下;

Ubuntu 16.04,Apache 2.4,PHP7.0-FPM,Mysql 5.6和Varnish 4.

Apache侦听端口443,Varnish侦听端口80.端口443的请求是端口80上的ProxyPass到Varnish,如下所示(vhost片段)。

ProxyPreserveHost On
ProxyPass / http://127.0.0.1:80/
RequestHeader set X-Forwarded-Port "443"
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set Ssl-Offloaded 1 

Varnish随后提供静态内容,并在端口8080上将其他所有内容传递给Apache。

PHP请求由php-fpm处理,设置如下(vhost片段)。

<FilesMatch ".+\.ph(p[3457]?|t|tml)$">
    SetHandler "proxy:unix:/run/php/php7.0-fpm.sock|fcgi://localhost"
</FilesMatch>

出于某种原因,当Varnish正在提供请求时,不时在浏览网站时,特别是在向购物车添加产品时,页面加载将持续几乎完美的60秒,然后再继续加载。在大多数情况下,加载速度非常快。但是当它挂起时,apache,varnish,php-fpm,mysql,包括php-fpm慢日志和mysql慢日志都没有显示任何错误。

当禁用Varnish时(滚动所有请求),我似乎无法重现错误。

如何查看阻碍请求或流程的内容?

我很难过去哪看?

1 个答案:

答案 0 :(得分:0)

事实证明这个问题是与清漆版本4.1.3之前的管道发布请求相关的错误。 由于Ubuntu 16.04 repo有一个过时的Varnish 4.1.1,我们受到了bug的影响。升级到最新的Varnish 4.1.6解决了我们的问题。 https://github.com/varnishcache/varnish-cache/issues/1806