Skip to content

zuohanxu/lpts

 
 

Repository files navigation

                ###################################################
               #                                                   #
               #           Linux Performance Test Suite            #
               #                                                   #
                ###################################################

#########################################################################################################
version:lpts-3.0.9

1.解决osinfo表中glibc版本有误问题
  修改lpts-3.0.8/lib/sysinfo.py
  + def check_glibc_ver1():
  +    glibc_ver = subprocess.getoutput('ldd --version').splitlines()[0]
  +    glibc_ver = re.search(r'(\d+\.\d+(\.\d+)?)', glibc_ver).group()
  +    return glibc_ver
  -  if utils.compare_versions(glibc_ver, ver) == -1:
  -    raise error.TestError("Glibc too old (%s). Glibc >= %s is needed." %
  -                        (glibc_ver, ver))


  + "Glibc":check_glibc_ver1(), 
  - "Glibc":" ".join(platform.libc_ver()),

2.添加ip和os信息到osinfo表中
  修改lpts-3.0.8/lib/sysinfo.py
  +  def get_host_ip():
     """
     查询本机ip地址
     :return: ip
     """
  +  try:
  +      s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  +      s.connect(('8.8.8.8', 80))
  +      ip = s.getsockname()[0]
  +  finally:
  +      s.close()
  +  return ip

  +  "IP" :get_host_ip(),
  +  "OS": get_cmd_output("cat /etc/.productinfo").replace("\n", " "),

    Author:tidingxin
    Mail  :[email protected]
                   OR
           [email protected]




###############################################################################################################
version:lpts-3.0.8
                
  @ Linux Performance Test Suite 简称lpts, 是一款面向操作系统基准性能测试框架,测试面包括:
CPU、Mem、Net、IO. Linux基准性能不同于白盒性能测试,它往往涉及操作系统底层结构,要求测试人员
熟练甚至精通操作系统基本原理,因此加大了Linux基准性能测试难度.目前,测试Linux基准性能,主要
手段有:一,根据测试需求编写合适测试脚本(难度系数较高,成本也较高);二. 通过选取一些被大家
广泛认可的开源或者商用的性能测试工具.第二种方法入手门槛低,但往往会遇到以下问题:
  1. 工具种类多,各有偏重,难以选择;
  2. 工具原理介绍篇幅往往较少,用户常常知其然不知其所以然;
  3. 不同工具测试参数复杂,需要花费较长时间梳理测试方法;
  4. 不同工具评价指标差异, 需要掌握不同指标含义;
  5. 测试报告通常较为简易,可读性较差,有的工具甚至只有屏幕输出;
  6. 测试数据较多,数据整理繁琐;
  7. 略

  @ lpts开发目的就是为了如何更好的使用性能测试工具.它有以下特点:
    1. 集成常用性能测试工具:lmbench、unixbench、x11perf、glxgears、iozone、bonnie、dbench、
         pingpong、stream;
    2. 剖析不同测试工具测试指标,  把测试工具的具体运行参数浓缩、抽象成文字描述或者易理解的可配置参数,形成简单测试方案。    针对不同操作系统可以创建一个或多个测试方案,该方案默>认保存在parameters/目录中,默认为default.conf,你可以根据需求创建自己的测试方案;
    3. lpts的运行方式是以job进行,使用job达到以下目地:
       1)自定义测试工具集合和测试方案,job的创建需要指定测试方案配置文件和测试工具集;
       2) 每个job都有一个对应的job id;
       3)job默认保存在db/jobs.xml中,也可以指定jobs.xml;
       4) job的运行可以指定jobs.xml中不同的job id;
       5) job支持间断运行测试工具,即:可以执行job中一个或多个测试工具;
       6)已经PASS的测试工具不再执行,FAIL的测试工具在解决依赖问题后还可以继续执行
       7)job状态查询功能,lpts可以查看每个job中测试工具的执行状态
       8)每个job将对应一个results.xml,所有工具的测试数据将保存在results.xml中
    4. lpts数据存储, lpts测试数据存储采用xml结构,采用xml达到以下目地:
       1)数据操作方便;
       2)数据可移动性强;
       3)xml利于开发调用;
    5. lpts测试报告,lpts目前支持text和execl的测试报告
       1) job中某个测试工具执行完毕后,都会在results/<tool>/目前下生成text测试报告,text测试报告默认命名方式为<tool>-<job_id> ;
       2) 生成测试报告不受时间和空间影响,只需要存储文件results.xml,因此需要保存好results.xml;
       3) 可根据两个以上results.xml生成对比测试报告,对比测试报告只支持execl格式;
       4) 测试报告支持chart
       5) 测试报告大致包含的内容:
         (1)操作系统基本信息(环境变量)
         (2)工具原理介绍
	 (3)测试指标介绍
         (4) 主要运行参数介绍
         (5) 测试数据
         (6)chart
    6. lpts其他功能介绍
     1) 日志系统,lpts日志系统包括多种输出方式DEBUG、INFO、WARNING、ERROR等,以及可定义日志输出方式和
         输出级别;
     2) 依赖检测,针对不同工具会自动检测执行依赖,提示系统缺包信息;
     3) 针对IO测试,会在每次测试结束后清理测试环境,降低多次测试的影响;
     4) lpts提供reboot功能,lpts可以注册为一个lptd服务,测试人员配置运行的工具和是否reboot;
     5)  autotest运行方式,lpts提供autotest调用结构,因此lpts测试用例可运行在autotest测试框架中,但同样具有lpts各项功能;

  @ 目前lpts版本为v3.0, 该版本主要为字符模式,后期版本将结合autotest测试框架开发web界面. lpts开发
并测试一个tool的周期大概需要一周时间,如果需要添加或修改性能测试工具或修改lpts运行方式,可以联系我:
    Author:Scemoon
    Mail  :[email protected] 
	   	   OR 
	   [email protected]

  @ 详细使用方法查看USAGE

About

Linux Performance Test

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.0%
  • Other 1.0%