您是否会使用当前生产数据库中的单独数据库来记录这些内容,以防止所有这些插入导致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,滚动日志文件和删除旧文件.这是针对群集服务器的更具可扩展性的方法,否则每个服务器都会不断地访问数据库.如果要将数据放入表中,请将其作为批处理过程,例如每小时或每天一次.
总结以上是内存溢出为你收集整理的web-analytics – 带时序的日志记录请求全部内容,希望文章能够帮你解决web-analytics – 带时序的日志记录请求所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)