微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

web-analytics – 带时序的日志记录请求

记录Web应用程序的http请求的最佳方法是什么,包括ajax请求,这样我以后可以回过头来查询“我想知道这个请求发生了多少次,以及平均需要多长时间”,或“向我显示前5个最高平均时间请求”

您是否会使用当前生产数据库中的单独数据库来记录这些内容,以防止所有这些插入导致IO减速,或者这最终不会产生重大影响?

您是否会批量提出请求然后推送到数据库,还是会为每个请求执行一次插入?

除了在应用程序逻辑中包装每个请求处理程序之外,还有更好的方法添加此请求登录时间,例如:

start = CurrentTime()
/* request handler code */
end = CurrentTime()
Insert(requestName,start,(end - start))

解决方法

您应该能够将Web服务器日志用于此目的. Apache和IIS记录捕获URL,查询字符串,响应代码和持续时间.如果AJAX请求通过HTTP POST接收数据,则需要更改Web服务器的配置以捕获该数据(如果它对您很重要).然后,我发现用于日志分析的最佳工具是 Microsoft’s Log Parser,它可以很好地处理带有sql语法的大型文件,以计算您要问的各种问题的答案.

但是,如果您打算自己滚动,请使用某种本地日志记录.并使用一个日志框架 – 例如log4J – 它足够智能缓冲磁盘写入以最小化I / O,滚动日志文件删除文件.这是针对群集服务器的更具可扩展性的方法,否则每个服务器都会不断地访问数据库.如果要将数据放入表中,请将其作为批处理过程,例如每小时或每天一次.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐