我希望通过Google Analytics收集有关网页加载速度的数据,并希望在已返回HIT Varnish缓存的页面和已缓存MISSED的页面之间进行拆分.
在调查之前我假设我已经让JS看一下页面响应中的清漆标题,并创建一个GA自定义var来逐页跟踪它.当然,JS无法访问页眉,所以我目前处于亏损状态.我已经使服务器端GA跟踪工作(通过PHP-ga),但这需要与现实世界的页面加载时间相关联.
解决方法
只是想一想,但你可以在“vcl_deliver”子程序中设置一个cookie.像这样的东西:
sub vcl_deliver { if (obj.hits > 0) { set resp.http.Set-Cookie = "VarnishHit=Yes;Path=/;"; } return (deliver); }
这基本上说:如果obj有多个命中,请设置一个cookie来说明.您需要确保不要过度编写任何其他cookie,因此如果您使用的是cookie,可以将其连接到现有的Set-Cookie.有关obj.hits的更多信息,请查看此处:
https://www.varnish-cache.org/docs/3.0/reference/vcl.html
重要的是这条线:
obj.hits
The approximate number of times the object has been delivered. A value of 0 indicates a cache miss. This variable is also available in vcl_deliver.
这将使您可以使用document.cookie变量从Javascript中访问此信息.我相信jQuery有一些插件可以让这更容易,这是我发现的一个:https://github.com/carhartl/jquery-cookie在Google上.一旦您可以检查JS中是否存在cookie,您就应该能够使用GA API来记录事件.我希望有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。