我碰巧比较了谷歌分析报告与Apache访问日志,并显示了惊人的250%下降。
我们安装了一个wordpress安装,在一个ELB和一个NFS服务器,RDS和一个弹性caching后面安装了2个Web服务器。
我进行分析的方式如下:
当我比较由客户端生成的服务器ping(由1提到的自定义JavaScript)和apache访问日志,下降似乎接近250%。
所以这意味着那些缺lessIP的客户端并没有执行JavaScript,但令人费解的是服务器正在发送200个状态码。 所以我得出的结论是,服务器发送一个空的答复最。 (我已经占了很less的用户closuresJavaScript,一些错误等),但我无法testing的假设。 (如果是这样的话)。
mod_dumpio不让我将响应主体映射到客户端IP。
审计日志似乎不支持响应主体的日志logging。
考虑到这些事情,请有人指出正确的方向吗?
由于我没有名誉来添加评论,我想在这里添加几点。
我只看文件请求,即排除所有的CSS和JS和图像文件,并且我过滤了谷歌机器人和其他可疑的抓取。 所有这一切都有一个明显的下降高达250%。
只检查产生200,206,301,302个响应码的请求。
这将超过。 超额计算的金额取决于您所服务的301和302的数量。 接收到301或302的浏览器将redirect,而不发送您的JavaScript ping,并且大概稍后会生成一个200,这样会产生重复计数。
过滤机器人的请求,并且对css,javascript和图像的请求可能容易出错。 相反,我会build议在您的网站上select您知道JS分析工作的单个页面(例如,主页),并且只计算查询。 另外,从通常代表真实浏览器的日志中select一个通用的用户代理,然后只计算查询。 如果数字更接近匹配,可以扩大你的范围。
也有可能你的JS在每个浏览器中都不能正常工作。 尝试设置您网站的testing实例,然后使用像https://www.browserstack.com/这样的服务将其加载到多个浏览器中。 按用户代理分组日志。 任何发出主要请求但不发送ping的用户代理可能在执行你的JS时遇到问题。 启动该用户代理的副本并testing你的JS。
您的apache日志将报告许多分析不计入的内容。 这些包括:
HEAD请求。 +http:// ,但不是所有的蜘蛛都遵循这个标准。