forked from Scemoon/lpts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
111 lines (95 loc) · 6.08 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
###################################################
# #
# 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
###############################################################################################################
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
@ 详细使用方法查看USAGE