分享

用好Web日志

 知足常乐WQL 2006-08-25

用好Web日志

    ■ 《网络世界》评测实验室 于洋

    在测试网站的性能时,过载情况下会出现HTTP页面请求的失败。测试仪会告诉你,它针对某个URL向Web服务器发出了请求,但没有得到该页面。原因是什么呢?一种可能是因为服务器在过载情况下无暇处理应用层数据,另一种可能是URL指向的文件在网站中根本就不存在。前者是服务器的正常表现,后者属于人为错误,它会影响网站测试指标的准确性,要坚决避免。

    对于测试仪来说,它并不会去分析产生HTTP交易失败的详细原因,上述两种情况在它的网站性能曲线图上的表现是一样的。这时我们可以借助Web日志进行跟踪,访问日志可以告诉我们页面请求的客户端IP地址、采用的协议版本以及该请求是否得到了正确响应,并返回HTTP状态代码供我们分析具体原因。

    Web日志还可以给我们提建议。比如,用Apache来构建一个商务网站,在投入运行前用测试仪模拟上万客户端对服务器进行测试,而呈现的性能曲线却令你非常失望,这时别忘了查一下Web日志,Apache的错误日志会向你提出警告:服务器用来处理页面请求的线程已经用光了,请考虑增大每个子进程下的线程数目。依提示而行,如果同时不存在其他瓶颈,性能问题就解决了。日志提示信息的详细程度用户是可以通过Apache配置文件中的LogLevel关键字进行定制的,如果你有专用工具来分析网站日志,那么不妨让日志提供尽可能多的信息,分析工具生成的报告可以让你更充分地了解网站的工作过程。

Apache的错误日志
[Mon Jun 21 15:26:33 2004] [notice] Child 1032: Starting 250 worker threads.
[Mon Jun 21 15:30:37 2004] [error] [client 172.16.3.1] File does not exist:E:/Apache/Apache2/htdocs/index.html
[Mon Jun 21 16:11:23 2004] [warn] Server ran out of threads to serve requests. Consider raising the ThreadsPerChild settin

链接到网站的方法
来源网址 网页数 百分比
网址由参观者自行输入或从书签取出 26228 30.90%
来自搜索引擎 16024 18.90%
来自此网站外的其他网页(非搜索引擎) 40424 47.70%
其他 2150 2.50%
本表由AWStats统计生成

    日志在实际的Web系统中有更多的用途。比较典型的是进行网站的流量统计和安全分析。

    在Web日志中找出攻击Web服务器的蛛丝马迹并不是非常直接的一件事,因为日志中条目繁多,哪些记录的背后隐藏着杀机呢?这需要分析访问者的源IP地址和请求的页面,猜测访问者的企图,他是在进行站点镜像还是CGI漏洞扫描,进而做有针对性的查缺补漏。

    用户更关注的是Web服务器的性能,但对于商务网站来说,不能只在乎用户的感受,不能把精力全放在减少用户访问延迟和提高并发访问数目上。还要关注访问用户的地理分布、时间分布和某个页面的点击率。通过分析用户群和他们的访问行为,有助于对网站页面做出有针对性的改善,帮助商家提升网站质量,更好地为用户服务。日志可以帮你完成流量分析,给出上述关注内容的统计数字。

    直接去读日志文件仅适用于查找某一特定内容的情况,更多时候,我们要借助专用的日志分析工具。比较著名的工具有:AWStats、Webalizer和Analog查看服务器上的web日志:Nihuo Web Log Analyzer粘贴过来的)等,它们都是开源软件。它们不仅可以进行简单的基于访问时间和IP地址来源的分析,还可以发现自己的网站与搜索引擎的关系。如果使用Apache,在它的配置文件中可以设置日志格式为combined,这样在日志中会包含某一页面访问的转向来源: HTTP_REFERER,如果用户是从某个搜索引擎的搜索结果中找到了你的网页并点击过来,日志中记录的HTTP_REFERER就是用户在搜索引擎结果页面的URL,这个URL中包含了用户查询的关键词。从汇总统计结果中,就可以发现用户是根据什么关键词找到你的以及次数,用户最感兴趣的是哪些关键词等,使用这些工具,还可以将统计结果做成CSV格式,便于以后导入数据库进行历史统计,做更深层次的数据挖掘。如左表所示。

    由于日志是不断增长的,它会撑满整个硬盘分区。对于Windows系统来说,如果Web日志写满了系统分区,会导致服务不能启动。笔者还尝试将Apache装到Windows的扩展分区,当日志写满分区后,仍能启动服务器,用户可以获取网页,但不能再记录任何日志信息。现在一般采用轮循的办法读取并保留指定时间内的日志信息。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多