对于一个访问量巨大的网站来说,使用awstats来分析其日志是一件很痛苦的事情,这往往需要耗费很多时间才能得到一个结果,偶尔还会让机器内存耗尽。在awstats的文档中,找到几个关于性能优化的建议,如下:
- 关掉DNSLookup(DNSLookup不能设置为1). 虽然这样你会丢失一些关于访问者的国家信息,但是我觉得这无关紧要,大部分网站的访问者集中在国内。这样能给awstats性能带来小小提升。
- 小心使用这三个参数: URLWithQuery, URLReferrerWithQuery ,URLWithAnchor (如果你不知道它们有什么作用最好设置为0)
- 使用最新版本的perl (例如Perl 5.8比5.6要快上5%) 。另外比较重要的一点,用标准版本的perl代替ActiveState版本的perl,因为ActiveState 5.006有内存泄漏方面的问题,它在解析日志的时候会越来越慢最终一行日志也跑不动。
- 回卷日志。尽可能的把日志分成更小的一份,这样awstats能处理的快一些,可以适当提高awstats解析频率.
- 确认HostAliases参数是完整的
- 使用最新版本的AWStats (例如AWStats 6.0比5.9快15%).
- 某些geeks,你可以考虑采用不同的参数来重新编译perl,例如使用”use64bitint=define usemymalloc=y”编译perl,这样perl的速度能提升10%.