51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2587|回复: 0
打印 上一主题 下一主题

[原创] 如何减小大量写log对性能测试的影响

[复制链接]
  • TA的每日心情
    擦汗
    2015-5-25 17:24
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2009-8-19 11:36:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    <P>当前定义的性能测试介入点,是功能测试第一轮结束之后。而第一轮功能测试主要目的是发现bug,此时介入可能会该性能测试带来一些不必要的麻烦。</P>
    <P>  最常见的问题,就是页面vm存在bug。当页面被大量访问时,velocity log里每次都打印出vm的错误日志。假定每条日志为200bytes,每秒的访问量为30,一秒的日志量就为200*30=6,000bytes。约为 5.86K。以这样的速度计算,一分钟就会达到351.6K。随着时间的推移,日志量是相当可怕的。如果vm上有多处错误,日志量将更加恐怖。</P>
    <P>  模版的bug是功能问题,本身是不会影响系统性能的。但是当log达到一定量之后,比如单个文件1G,影响的效果就比较明显了。为了这么大的文件再继续往里写,是会消耗<A class=nounderline title=服务器 href="http://server.it168.com/" target=_blank><FONT color=#0000ff>服务器</FONT></A>资源的。</P>
    <P>  怎么办?</P>
    <P>  方法有两个:第一、屏蔽velocity log;第二、不屏蔽,利用技术手段定时删除velocity log。下面分别介绍一下。</P>
    <P>  一、屏蔽velocity log</P>
    <P>  最干脆的办法。屏蔽之后该log就不再打印了,但需要系统开发人员的配合。</P>
    <P>  二、不屏蔽,利用crontab定时删除velocity log</P>
    <P>  第一种方法固然很好,但需要外部人员配合,而且如果该vm的bug是由于压力引起,不打印日志就没办法看到错误了。</P>
    <P>  crontab是一个很方便的在linux上定时循环执行某个任务的程序。利用它,可以定时将velocity log置空,将其控制在一定大小范围内。</P>
    <P>  先写一个置空log的shell脚本,然后再通过crontab调用,每隔5分钟执行一次。示例脚本如下:</P>
    <P>  ***********************************************</P>
    <P>  cleanLog.sh –放置在/home/admin目录下</P>
    <P>  echo “” &gt; Path/appName-velocity.log — Path为该应用的log路径,appName为该应用的应用名</P>
    <P>  ***********************************************</P>
    <P>  crontab –admin的crontab</P>
    <P>  */5 * * * * sh /home/admin/cleanLog.sh –实现每5分钟执行一次cleanLog.sh脚本</P>
    <P>  ***********************************************</P>
    <P>  这两种方式都能有效的减小大量/超大量log对性能测试结果的影响。当然也各有利弊,请酌情使用。</P>
    <P>  除了vm的bug会大量记录错误日志外,apache的访问日志有时候也是非常非常恐怖的。如果你想减小影响,不妨也试试上述两种方法。</P>
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-24 02:54 , Processed in 0.062061 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表