• 【Loadrunner】性能测试:通过服务器日志获取性能需求


    性能测试:通过服务器日志获取性能需求

             接触过性能测试的童鞋都知道,想要做好一个项目的性能测试,性能需求的获取至关重要~!如果公司有做过性能测试还好,大家可以拿之前的性能测试数据作为参考;但一般的公司来说,对于性能需求的指定基本都是一头雾水,需要大家自己去整理 
            性能需求的获取无外乎以下几种方法:
    1)产品、老大直接制定!
    2)参考其他行业;
    3)80/20原则;
    4)服务器日志获取;
             
            为了测试结果更加准确,最好的结果当然是服务器日志获取,因为这种方式真实有效~但是好多人都苦于不知如何去获取:看不懂服务器日志;拿到日志后无从下手;(PS:这也是本文产生的由来 )
            下面由鄙人来为大家一一道来~
            
            一)前提
            没有明确的性能需求;系统版本已运行很长一段时间,期间所积累的数据足以分析出客户业务使用情况;

            二)日志解读(以apache日志为例)

    1. apache日志包含什么?
    Apache的日志功能主要是指其在运行中对服务器活动进行的记录。日志内容主要涵盖了服务器访问者身份、访问时间、具体访问情况及服务器运行错误信息等;

    2.我们需要看哪些? 
    在Apache采用默认方式安装并运行后,将在安装目录的logs文件夹下生成如图所示的access.log和error.log两种日志文件。

    图中左侧为access.log文件,记录所有访问者对服务器进行的详细操作;右侧为error.log文件,记录服务器运行期间,出现的错误与异常等。在此,研究服务器日志的主要目的是获取性能测试需求,即需要了解所有访问者对服务器的具体访问情况。因此,重点关注Apache的access.log文件。 (PS:Apache配置文件为httpd.conf,在配置文件中通过CustomLog命令可以设置日志文件存放路径,如“CustomLog /usr/local/apache/logs/access_log common”


    日志解读:
    如上图:
    第一部分为127.0.0.1;(远程主机的地址,标明访问者来源)
    第二、三部分用“-”进行标识;(第二部分:访问者的email地址或者其他唯一性标识。基于安全考虑,通常用“-”替代;第三部分:访问者的用户名。基于安全考虑,通常也用“-”替代)
    第四部分为[02/Jun/2009:22:12:30+0800];(访问请求发生的时间。)
    第五部分为”GET /HTTP/1.0”;(访问请求的类型。此信息的典型格式为“方法-资源-协议”。方法包括GET、POST等;资源是指浏览者向服务器请求的文档或URL等;协议通常是HTTP+版本号)
    第六部分为200;(服务器返回的状态码,标明请求的结果。如“200”为请求成功,“404”为页面未找到,“500”为服务器内部错误等)
    第七部分为40283(响应给客户端的总字节数。)
    PS:可在Apache的配置文件httpd.conf中,通过配置LogFormat的参数来自行定制日志文件的记录格式。如:LogFormat "%h %l %u %t "%r" %>s %b" common表示日志中记录上述七部分内容。 

               三) 日志转换为需求
            接下来就是重点,将日志转换为我们看的懂得需求。在这里,我们借助WebLog Expert(window日志分析工具)。
    (官方网站:http://www.weblogexpert.com ;
    官方实例页:http://www.weblogexpert.com/sample/index.htm 为了便于用户分析查看报告,官方专门提供了一个例子。)

    PS:其他日志分析工具awstats,下载地址:http://awstats.sourceforge.net

     1.日志合并  
    大家都知道IIS日志大部分情况下都是分开显示的,我们要进行日志分析当然希望分析全部日志,这里我们可以借助批处理程序;
            步骤如下:
    1)导出全部log日志;
    2) 在log日志的目录下新建txt文档,编辑文档内容为:type *.log>>all.log,保存为cindy.bat文件。双击bat文件,即可生成all.log文件。
     
    2.使用weblog expert生成分析
    1)双击打开程序,创建日志分析;

    2)填好log方式和地址;

    3)生成结果;


    General Statistics(概要统计):对系统当前的一些基础性能指标进行统计,提供出相应指标的一些平均和总计数值。这一信息有助于我们掌握系统在某段时间内的整体情况,如:PV(页面访问量)。
    Activity Statistics(活动统计):General Statistics提供了整个系统在运行期间,某些指标的平均和总计数值,但对性能测试而言,这些平均和总计数值往往是不够的,我们还需要查看一些峰值数据,或者说更希望看到各指标在不同时间段内的值分布情况。Activity Statistics就能提供出每天甚至每小时内各项指标数据,如每日用户访问量、每日点击量、每小时用户访问量、每小时点击量等。根据这些数据生成的图表反应了相关指标的分布趋势和峰值。
    Access Statistics(访问统计):Activity Statistics提供每天、每小时的各项指标数据,侧重于各指标在时间上的分布,而Access Statistics反应的是业务或页面等的访问次数。Access Statistics菜单下支持按系统中页面、文件、图片、目录及入口页面的统计分类。Access Statistics可帮助我们确定性能测试的主要业务点(性能测试不同于功能测试,不能针对于整个系统的所有功能都开展性能测试,耗费人力物力且没有实际意义),从而更加真实有效的模拟大量用户的操作。从图表中可得出“每日页面访问趋势”及“最热门的访问页面”,这些信息对性能测试的用例及场景设计具有很强的参考价值。 
    Visitors(用户统计):提供依据IP来分类统计的点击量、用户访问量及带宽等各指标值。

    以上为常用图标,其他图标也能帮助大家定位很多东西,这就需要靠大家去研究啦~!【如Referrers(提交统计):可提供最热站点、最热URL等指标分布数据;Browsers(浏览器统计):可提供用户使用的各类浏览器和操作系统的分配比例,方便大家在性能测试中更真实的模拟用户使用情况;Errors(错误统计):可提供系统运行期间出现错误的统计,通过这些信息能够帮助大家定位系统中存在的问题,进而通过分析问题发生原因,在新版本系统中有效避免等。 】


         至此搞定,大家就能够获取到准确真实的性能需求啦,接下来该干嘛干嘛了~!
  • 相关阅读:
    perl 实现ascall 码转换
    perl 利用管道读取压缩文件内容
    perl 字符串比较操作符
    perl chomp 函数的真正作用
    RSQLite 操作sqlite数据库
    R 中的do.call 函数
    JavaMail发送和接收邮件API(详解)
    POP3_使用SSL链接邮箱并获取邮件
    MySql_delete同时删除多表相关联记录
    mybatis_mybatis写mapper文件注意事项
  • 原文地址:https://www.cnblogs.com/zhuzhubaoya/p/9207963.html
Copyright © 2020-2023  润新知