Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Flush history file on disk (unique url reach flush limit of 5000)
Flush history file on disk (unique url reach flush limit of 5000)
Flush history file on disk (unique url reach flush limit of 5000)
是AWStats统计常见的输出,每行都是在处理完一定数量的URL(缺省是5000个)后,AWStats将统计结果临时写入磁盘。最近使用AWStats处理百M级别的日志时:磁盘IO居然非常高,
发现有时候遇到页面URL个数非常多的时候(比如:在搜索引擎蜘蛛对网站进行深度遍历deep crawl时),经常会使得AWStats对缓存文件的读写过于频繁,随着生成的数据文件越来越大,每次几百M的临时文件读写也会导致统计速度越来越慢;经常一次统计数据下来会Flush history file on disk (unique url reach flush limit of 5000) 几百次;
记得以前是对AWStats进行过简单的参数配置的,可以修改flush的周期,但现在的文档中没有找到相应的配置,只好Hack了一下:awstats.pl文件将每隔发现5千个新链接改为5万个;
> $LIMITFLUSH=5000; # Nb of records in data arrays after how we need to flush data on disk
---
< $LIMITFLUSH=50000; # Nb of records in data arrays after how we need to flush data on disk
其实内存够用的话,将这个值设置的更高也是没有问题的。根据观察临时文件生成的次数也相应的有数量级的下降;这个参数和Lucene中的merge_factor有点像,都是拿内存换速度;
为了避免将蜘蛛的deep crawl识别成正常的Web浏览:经常性的发现一些蜘蛛并标识出来还是很有意义的,比如:最新发现的蜘蛛名是 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; CollapsarDEEP)"
作者:车东 发表于:2008-10-25 08:10 最后更新于:2008-10-25 02:10版权声明:可以转载,转载时请务必以超链接形式标明文章 增大AWStats的$LIMITFLUSH,减少磁盘临时文件读写 Flush history file on disk (unique url reach flush limit of 5000) 的原始出处和作者信息及本版权声明。
http://www.chedong.com/blog/archives/001452.html
Comments
请问默认的5000大概使用多少内存?
由: joecen 发表于 2008年10月26日 下午12时01分
如果物理内存够大,增大这个参数会加快AWSTATS的分析速度吗?
由: mcgee 发表于 2008年10月29日 下午01时41分
您好,想请教您一个问题:awstats可以分析历史数据吗?比如我今天才开始启用,但我有一整年的日志(以按天截断),可以分析过去的数据吗?我使用了两个参数:-month=MM -year=YYYY 可不起作用
由: 没睡醒 发表于 2008年11月16日 晚上10时54分
非常好的文章,先谢过了,不过小弟还遇到了点问题.我打开本月的数据正常.但是点上月的就无法编译出来,,而是直接把数据文件打开了.想征车东兄...
由: Eric 发表于 2008年11月21日 下午12时22分
我是新手,问一个Awstats的问题。
我今天刚刚安装上,但是第一次更新之后发现只有今天当天的数据。
后来发现是因为我的log文件只有当天的数据。
那么是不是我就要每天定时更新一次?怎么设置呢?
谢谢指教!
由: Aran 发表于 2008年11月22日 晚上11时17分