admin管理员组文章数量:1534212
2024年1月25日发(作者:)
.
LTP工具说明
1LTP测试套件 ................................................................................................................................ 2
1.1简介 .................................................................................................................................... 2
1.2 源目录结构 ................................................................................................................... 2
2 LTP安装 ....................................................................................................................................... 3
2.1 下载 ............................................................................................................................... 3
2.2 编译 ............................................................................................................................... 3
2.3 安装说明 ....................................................................................................................... 4
3 LTP测试套件结构说明 ......................................................................................................... 5
3.1 概述 ............................................................................................................................... 5
3.2 目录介绍 ....................................................................................................................... 5
3.3 LTP执行原理 ............................................................................................................... 5
4 LTP测试套件测试内容 ......................................................................................................... 5
4.1 LTP测试套件测试内容 ............................................................................................... 5
4.1.1 commands ......................................................................................................... 6
4.1.2 kernel ................................................................................................................... 6
4.1.3 kdump ................................................................................................................. 6
4.1.4 network ............................................................................................................... 6
4.1.5 realtime ............................................................................................................... 7
4.1.6 open_posix_testsuite ...................................................................................... 7
4.1.7 misc ..................................................................................................................... 7
4.2 测试方法说明 ............................................................................................................... 7
4.2.1 commands模块内容描述及实现方法 ............................................................ 7
4.2.2 kernel ................................................................................................................... 8
4.2.3 network ............................................................................................................. 13
4.2.4 open_posix_testsuite .................................................................................... 15
4.2.5 realtime ............................................................................................................. 16
5 LTP测试套件配置详细 ....................................................................................................... 17
5.1 脚本配置 ..................................................................................... 17
5.2 配置 ......................................................................................... 20
5.3 open_posix_testsuite测试套件 ........................................................................... 22
5.4 realtime配置 ............................................................................................................ 23
5.5 mm脚本的配置 ...................................................................................................... 24
5.6 io脚本配置 .............................................................................................................. 24
5.7 filecaps的配置....................................................................................................... 24
5.8 tpm_tools的配置 .................................................................................................. 25
5.9 tcore的配置 ............................................................................................................ 25
5.10 io_floppy的配置 ......................................................................................................... 25
5.11 io_cd 的配置 ................................................................................................................ 25
5.12 cpuhotplug的配置 ..................................................................................................... 25
5.13 的配置 .............................................................................................................. 26
5.14 和的配置 ............................................................................. 27
;.
.
5.15 的配置 ..................................................................................................... 27
5.16 的配置 ............................................................................................................ 27
5.17 的配置 ............................................................................................ 28
5.18 的配置及要求 .......................................................................................... 28
5.19 的配置及要求 ...................................................................................... 29
5.20 ltp-scsi_的配置及要求 ............................................................................. 29
5.21 的配置及要求 ............................................................................................... 29
5.22 rpctirpc的配置及要求 ................................................................................................ 29
5.23 test_的配置及要求 .................................................................................. 30
5.24 smack的配置和要求 .................................................................................................. 31
5.25 perfcounters的配置及要求 ...................................................................................... 32
5.26 can的配置及要求 ........................................................................................................ 32
5.27 test_的配置 ............................................................................................... 32
6 LTP测试套件使用说明 ....................................................................................................... 33
6.1 概述 ............................................................................................................................. 33
6.2 初始测试 ..................................................................................................................... 34
6.2.1 runltp使用说明 ................................................................................................ 34
6.2.2 脚本说明.................................................................................. 36
1 LTP测试套件
1.1 简介
LTP(LinuxTest Project)是SGI、IBM、OSDL和Bull合作的项目,目的是为开源社区提供一个测试套件,用来验证Linux系统可靠性、健壮性和稳定性。LTP测试套件是测试Linux内核和内核相关特性的工具的集合。该工具的目的是通过把测试自动化引入到Linux内核测试,提高Linux的内核质量。LTP提供了验证linux系统稳定性的标准,设计标准的压力场景,通过对linux系统进行压力测试,对系统的功能、性能进行分析,并以此确定linux系统的可靠性、健壮性和稳定性。
1.2 源目录结构
;.
.
如表1,是对LTP源包目录结构的描述:
INSTALL
README
CREDITS
COPYING
LTP安装配置指导文档
LTP介绍
记录对LTP有很大贡献的人
GNU Public License
ChangeLog
描述版本变化
ltpmenu
Makefile
规划执行LTP的图形化界面接口
LTP顶层目录的Makefile,负责编译安装pan、testcases和tools
顺序运行全部测试例程并且报告结果的脚本
doc/*
include/*
lib/*
工程文档包含工具和库函数使用手册,描述各种测试
通用的头文件目录
通用的库函数目录
testcases/*
包含在LTP下运行和bin目录下的所有测试用例和链接
testscripts/*
存放分组的测试脚本
runtest/*
pan/*
scratch/*
tools/*
为自动测试提供命令列表
测试的驱动装置。具备随即和并行测试的能力
存放零碎测试的东西
存放自动化测试脚本和辅助工具
表1 LTP源代码结构
2 LTP安装
2.1 下载
LTP是一项动态工程,LTP源包命名方式一般为:ltp-yyyymmdd。目前版本为ltp-20110228。以下均为ltp-20110228版本的配置,官网地址为:。
2.2 编译
从官方网站下载最新的LTP测试套件包,解压后进入ltp源目录。按照表2方法进行快速安装,在编译成功后会自动安装到/opt/ltp目录下。
[root@server20 ltp]#./configure
[root@server20 ltp]# make
[root@server20 ltp]# make install
检查系统是否缺少执行LTP测试套件所需的用户和用户组,如果缺少则为LTP;.
.
测试套件创建所需的用户和用户组。
这个脚本用来测试LTP安装,也可用来对测试套件的子项目进行测试。详情参阅脚本。
这个脚本能够测试LTP测试套件主要项目。其中包括:
- 硬盘 I/O 测试。
- 内存管理压力测试。
runltp
- IPC 压力测试。
- SCHED测试。
- 命令功能的验证测试。
- 系统调用功能的验证测试。
ver_linux
这个脚本是获取硬件、软件、环境信息。
测试内容同runltp,不同点在于runltp可以指定测试项进行组合测试,而则会全部执行。
列举了所有的子系统测试脚本,脚本说明见下文。
adp_
fs_ro_tests
testscripts load_stress_all_kernel_
ltp-scsi_
tet_
test_fs_
test_
表2 编译
test_
test_
test_
2.3 安装说明
;.
.
在安装编译ltp之前,需要确定linux系统“make”版本,ltp编译需要“make”版本最低要求为“make 3.80”,优先使用“make 3.81”版本。为了编译和使用ltp-scanner,linux系统需要安装bison/yacc和flex包。详细安装方法可参照说安装说明文件INSTALL(源包目录)。
3 LTP测试套件结构说明
3.1 概述
LTP编译成功后,包含三大部分:测试案例、测试脚本、测试驱动。测试案例目录为testcases/,testcases/包含了测试案例和案例脚本;测试脚本主要目录为testscripts/,里面包含了文件系统,磁盘,内核,内存等测试脚本;测试驱动目录为bin/,该目录存放了ltp各种驱动脚本,如ltp-pan,ltp-scanner等。
3.2 目录介绍
表3 描述了ltp编译后各目录存储的内容和功能:
目录名
bin
results
功能
存放LTP测试的一些辅助脚本
测试结果默认存储目录
testcases
测试项集
output
share
runtest
lib
测试日志默认存储目录
脚本使用说明目录
测试驱动(用于链接testscripts内的测试脚本和testcases测试项目)
通用的库函数目录
表3 目录描述
3.3 LTP执行原理
从一个测试命令文件(或脚本)中读取所测条目需要执行的命令行,然后等待该项测试的结束,并记录详细的测试输出。默认状态下pan会随机的选择一个命令行来运行,可以指定在同一时间要执行测试的次数。pan会记录测试产生的详细的格式复杂的输出,但它不进行数据的整理和统计,数据整理统计的工作由scanner来完成,scanner是一个测试结果分析工具,它会理解pan的输出格式,并通过表格的形式总结测试passed或failed的情况。简单地说,LTP测试套件通过执行测试脚本(或runltp或)或testscripts内的测试脚本,调用驱动程序pan执行testcases内的测试项目,输出测试结果,并利用scanner整理数据。
4 LTP测试套件测试内容
4.1 LTP测试套件测试内容
;.
.
以ltp-20110228版本为例(目前是最新)。ltp-20110228测试内容主要包括以下几大部分:commands(常用命令测试),kernel(内核模块及其相关模块,如文件系统,磁盘读写等),kdump(内核转储),network(网络),realtime(系统实时性)open_posix_testsuite(posix标准),misc(崩溃,核心转储,浮点运算等)。以下是具体内容:
4.1.1 commands
cpio
eject
gzip
su
at
cron
mv
mkdir
ln
cp
size
objdump
nm
logroate ldd
tar
unzip
ar
ld
file
表4 commands
4.1.2 kernel
这个模块主要对系统的文件系统、进程通信、模块管理、内存、系统调用、系统调度、磁盘读写、安全等进行功能和压力测试。详细内容如表5所示:
fs connectors Ipc module pty
sched timers containers
tracing controlers
hotplug numa
include mce-test performance_counters
mem
power_management
表5 kernel相关测试内容
security device-drivers io
syscalls
4.1.3 kdump
kdump是系统崩溃转储功能,这个模块是对kdump工具实现崩溃转储的测试。
4.1.4 network
network功能点非常多,包括dhcp,nfs,rpc,iproute等,具体如表6所示:
can iproute rpc tcp_cmds datafiles
traceroute dhcpd
nfsv4
iptables multicast sctp
lib6 nfs sockets xinetd
stress
;.
.
表6 network
4.1.5 realtime
realtime测试套件是对linux系统实时性进行测试。
4.1.6 open_posix_testsuite
open_posix_testsuite测试套件是对linux系统open_posix符合性进行测试。
4.1.7 misc
misc包括系统crash,f00f,math,tcore_patch_test_suites测试。
4.2 测试方法说明
4.2.1 commands模块内容描述及实现方法
序子测试测试内容 内容含义 脚本说明
号 点
1 ade ar 可以用来创建、修改用来测试该系统命令的文件是库,也可以从库中提runtest/commands,可以通过出单个模块 runltp脚本调用。例子:./runltp
-f commands
file 辨识文件类型
ld 一定量的目标文件跟档案文件连接起来,并重定位它们的数据,连接符号引用
ldd 用来查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题
nm 显示目标文件的符号表
objdump 显示二进制文件信息
size 显示文件大小
2 at 无 任务规划工具。测试测试脚本在内容为testcases/bin/和/etc/和testcases/bin/中
/etc/功能
3 cpio 无 存取归档包中的文件 用来测试该系统命令的文件是4 cron 无 在一定的时间间隔调runtest/commands,可以通过例子:./runltp
度一些命令的执行
runltp脚本调用。-f commands
5 eject 无 退出抽取式设备 测试脚本为:
testcases/bin/
;.
.
6 fileutils cp
ln
mkdir
mv
7 gzip 无
8 logrotate 无
9 mail 无
10 su 无
复制命令
符号链接命令
创建目录
移动或重命名
解压缩命令
管理记录文件
收发邮件管理
变更用户
用来测试改系统命令的文件是runtest/commands,可以通过runltp脚本调用。例子:./runltp
-f commands
11 tar 无
12 tpm-tools 无
13 unzip 无
测试脚本为testcases/bin/su01,但在执行改脚本之前,系统需要安装有expect命令
对文件目录进行打包用来测试该系统命令的文件是备份 runtest/commands,可以通过runltp脚本调用。例子:./runltp
-f commands
tpm-tools是TPM芯片此功能在runtest中的tpm_tools的管理工具。对中,可以使用runltp脚本加上tpm-tools进行测试,tpm_tools参数执行,也可以在需要确定系统安装有testscripts中调用tpm_tools脚TPM芯片,且系统为本执行
Linux。
TPM实际上是一个含有密码运算部件和存储部件的小芯片上的系统,由CPU、存储器、
I/O、密码运算器、随机数产生器和嵌入式操作系统等部件组成。
解压缩zip文件 用来测试该系统命令的文件是runtest/commands,可以通过runltp脚本调用。例子:./runltp
-f commands
表7 commands实现方法
4.2.2 kernel
编号 测试项 子测试项 对应脚本以及说明
./runltp -f connecors
测试方法:
含义
网络连接器测试
测试ACL(访问控制列表)和1 connectors
2 fs acl
testcases/bin/tar_t Attribute
h
;.
备注:内核支持loop设备;一
.
个大于100M的磁盘分区;内核支持ACL功能
3 acls
测试方法: 测试扩展的acls
tescases/bin/acl_test01
需求:同上
4 dmapi
dmapi功能验证测试
备注:ltp默认没有编译此功能需要到源目录执行,参照dmapi目录下的README
5
6
doio testcases/bin/growfile
doio和读写测试
ext4文件系统测试
ext4-new-feat./runltp -f fs_ext4
ures
7
8
fs-bench
fs_bind
testcases/bin/
文件系统的压力测试
/testscripts/test_fs_bind.测试LINUX内核的绑定安装和sh
共享子树的能力
文件系统的数据完整性
在后台运行多个进程来快速创建和删除文件,用户可以指定创建的目录、文件数等
9
10
fs_di
fs_inod
./runltp -f fs
./runltp -f fs
11 fs_maim backbeat
maimparts
partbeat
fs_maim是存储管理工具压力测试集合
备注:因为fs_maim执行会损坏数据,因此并没有编译。详情参找源目录下到fs_maim目录
12 fs_perms
测试脚本:
./runltp -f
fs_perms_simple
这个脚本是测试文件执行到权限,群组和用户组
13 fsstress
testcases/bin/fsstres;详细用法可以参照该脚本
文件系统压力测试
备注:文件系统压力测试默认添加到脚本testscripts/或runltp或runalltests
14
15
fsx-linux
ftest
./runltp -f fs
./runltp -f fs
fsx文件系统的压力测试
;.
.
16
17
18
inode
lftest
linktest
./runltp -f fs
./runltp -f fs
./runltp -f fs
回归测试文件的连接,常见一个硬链接和一定数目的软链接
19 mongo
testcases/bin/ 和mongo文件测试
testcases/bin/run_mongo备注:测试mongo文件可能和会擦除以前的内容,会损坏文testcases/bin/
件。详细配置见源目录下的mongo目录
20
21
openfile
proc
./runltp -f fs
testscripts/
22 quote_remoun./runltp -f fs
t
23 racer ./runltp -f fs
在proc文件系统上执行自动数据处理的压力测试
测试内核是否支持重新挂载额定的大小文件
文件操作测试如:创建文件,删除等操作
24 scsi /testscripts/ltp-scsi_debu测试SCSI模块
25
26 module
stream
./runltp -f fs
/testscripts/load_
stress_all_kernel_或
./runltp -f modules
27 ipc
28
29
30 pty
31 timers
Ipc_stresss
pipeio
semaphore
./runltp -f ipc
./runltp -f pipes
./runltp -f ipc
./runltp -f pty
./runltp -f timers
进程间通信压力测试
ipc的管道压力
信号量测试
终端类型的压力
posix计时器测试
文件流写入测试
对内核模块进行测试
32 containers
./runltp -f containers 或命名空间资源
testscripts -f
test_
32 hotplug
33
cpu_hotplug /runtest/cpuhotplug
memory_hotpltestcases/bin/memtoy
ug
验证cpu的热插拔功能
验证内存的热插拔功能
备注:需要numa支持
;.
.
34 numa
35 sched
36 tracing
./runltp -f numa
./runltp -f sched
./runltp -f /tracing
非统一内存访问
调度压力测试
跟踪测试
备注:内核版本需要2.6.34以上
37 controllers ./runltp -f controllers
资源管理测试
备注:内核版本2.6.29以上
38 performanc
e_counters
39 mce-test
./runltp -f perfcounters
测试基本的性能计数
LINUX内核mce的处理功能的测试脚本和工具集。
这是一个测试mce的测试套件需要编译。具体详情见该目录下的doc目录
40 security securebits ./runltp -f securebits
备注:这个功能需要至少2.6.32版本到内核,并且需要/usr/include/linux/securebits.h和libcap
v2/usr/include/linux/securebits.h被安装
41 cap_bound ./runltp -f cap_bounds
POSIX功能绑定设置
42 integrity ./runltp -f ima
测试体系结构的完整性(ima)
备注:需要内核支持
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_AUDIT=y
CONFIG_IMA_LSM_RULES=y
43 mmc_security testcases/bin/ask_passw用户界面的mmc密码保护支 &&
持
testcases/bin/change_pa备注:需要安装keyutils包, &&
在测试mmc之前需要配置;.
.
testcases/bin/assign_paskeyutils
&&
testcases/bin/force_ && testcases/bin
remove_
44
45
smack
filecaps
./runltp -f smack
./runltp -f filecaps或
testscripts/test_
46 p9auth ./runltp -f p9auth
安全策略测试,如
openssl,caphash, capuse
47 selinux-testsui./runltp -f selinux
te
48 tomoyo testcases/bin/
tomoyo安全测试
备注:需要安装tomoyo包,并配置详情见源目录tomoyo目录
device-driv
ers(硬件设备驱动测试)
这一测试工具并没有编译,如果要测试执行下面的操作:1.进入想要测试的目录并运行make命令;2在源目录目录中,用insmod加载.o文件。3.运行insmod确定内核是否已经载入;4.到源目录运行*.sh或者是其他的可执行文件;5.其结果会被输出;6.这些测试通常会在几秒钟内完成,然后可能需要重启。
49
50
51
acpi
base
执行ACPI测试
测试SELINUX安全模块
测试smack安全模块
基于安全的文件功能测试套件
dev_sim_fram
ework
52
53
nls
tbio
支持本国语言测试
;.
.
54
55
56
57
58
59
60
61
62 io
63
64
v4l
agp
block
drm
加速图形接口测试
外部控制器接口(PCI)测试
测试etc(实时时钟)驱动
usb接口 测试
aio(异步输入输出)测试)
软驱压力测试
硬盘测试
备注:disktest使用较复杂。具体参照脚本和源目录下disktest说明文件
misc_modules
pci
rtc
usb
aio
./runltp -f io
stress_floppy testscripts/
disktest testcases/bin/disktest
65 direct_io ./runltp -f
test_dma_thread_diotest7
66
67
68
ltp-aiodio
stress_cd
writetest
/testscripts/
testscripts/
./runltp -f fs
./runltp -f mm
光驱压力测试
写入测试
内存管理测试
69
mem(内存
测试)
70 power_man
agement
./runltp
-fpower_management_tests
电源管理测试
71 syscalls ./runltp -f runtest/syscalls
系统调用测试
表8 kernel相关内容测试方法
4.2.3 network
序号
测试内容 子测试点
无
内容含义
Controller area
network
脚本说明
./runltp -f can,在测试之前需要/ltp-20110228/testcases/networ/can中配置,具体方法参照此目录下的INSTALL,此功能需要运行在linux-2.6.25以上版本。
;.
1 can
.
2 dhcpd
3 iproute
无
无
测试dhcpd服务 运行方式:/runltp –f tcp_cmds,安装dhcpd服务
测试ip命令的基本本地测试功能
/ltp/testcases/network/iproute/ip_
4 lib6
无 Ipv6地址库测试 所属测试脚本,测试时后跟参数-L;也可以在脚本下跟ipv6_lib参数
6 nfs
无 网络文件系统测所属测试脚本,测试时后跟参数试,包括nfs压力-N
测试
7 rpc
需要开启nfs、portmap服务,并配置
rpc基本测rpc和rpc压力测所属测试脚本,测试时后跟参数试 试 -R,需要开启portmap服务或rpcbind服务;
或./runltp -f rpc
rpc-tirpc测试套件
rpc传输测试 脚本执行:./runltp -f rpctirpc脚本详细配置见下
8 sockets
无 套接字测试 本地测试:/opt/ltp/testcases/bin/ ;需要跟参数运行
9 tcp_cmds
无 tcp命令测试:包所属测试脚本,测试时后跟参数括:arp,ftp,echo,-T;也可以在脚本下跟 tcp_cmds参数host,finger,进行测试
insclude,netstat,需要在测试时开启echo-stream服务、dhcpd服scp,rdist,rlogin,务等
rsh,rwho,sendfile,ssh,arp测试需要远程主机和本地主机在同一个子网中。
tcpdump,telnet。 finger命令测试需要开启fingerd守护进程,可以使用setup选择系统服务
rwho命令的测试需要在两台机子上安装并开启rwhod守护进程
tcpdump命令测试时也需要两台主机在同一个子网中。
10 xinetd
无 xinetd服务 本地测试,/opt/ltp/testcases/bin/xinetd_或
11 iptable
无 iptables(防火墙管运行方式:/runltp –f tcp_cmds或
理)
12 multicast
无 多路广播测试 所属测试脚本,测试时后跟参数-M;也可以在脚本下跟 multicase参数;.
.
进行测试
13 nfsv4
无 nfs v4 测试 所属脚本,也可单独执行:./runltp
-f nfs
14 sctp
无 流传输控制协议测所属测试脚本,测试时后跟参数试 -S;也可以在脚本下跟sctp参数进行测试
15 stress broken_ip
发送大量IP包
dns
所属测试脚本,具体测试所跟参在runtest目录中有对个各个功能的DNS服务器正反数后面介绍。向查找域名是的承压力测试,可以单独测试。如:
受能力
./runltp -f network_
ftp
ftp服务客户端大./runltp -f network_
量请求、下载压力./runltp -f network_
测试()
./runltp -f network_
http服务器客户端./runltp -f network_ace
大量请求压力测试
./runltp -f network_ast
ICMP压力测试
./runltp -f network_
./runltp -f network_
http
icmp
interface
接口压力测试
./runltp -f network_
multicast
多路广播压力测试
./runltp -f network__ip
路由压力测试
route
./runltp -f network_
建立大量ssh会话ssh
连接压力测试
tcp
udp
16 traceroute
无
tcp压力测试
udp压力测试
路由跟踪测试 本地测试:
/opt/ltp/testcases/bin/traceroute_
表9 network 测试方法
4.2.4 open_posix_testsuite
序测试内子测号 容 试点
无
内容含义
执行异步I/O测试
备注
执行run_posix_option_group_加参数AIO运行
2 SIG
无 执行信号测试 执行run_posix_option_group_加参数SIG运行
3 SEM
;.
1 AIO
无 执行信号测试 执行run_posix_option_group_加参数
.
SEM运行
4 THR
无 执行线程测试 执行run_posix_option_group_加参数THR运行
6 TMR
无 执行定时器和时钟测执行run_posix_option_group_加参数试
7 MSG
无 执行消息队列测试
TMR运行
执行run_posix_option_group_加参数MSG运行
8 TPS
无 执行线程和进程同步执行run_posix_option_group_加参数测试
9 MEM
无
TPS运行
执行映射,处理和共执行run_posix_option_group_加参数享内存测试 MEM运行
表10 posix测试
4.2.5 realtime
序测试内号
1
容
func
子测试点
async_handler
内容含义
异步处理程序 脚本为testscripts/test_
gtod_latency
hrtimer-prio
gtod延迟
备注
高精度时间处理 优
先级
matrix_mult
measurement
矩阵乘运算
测量
periodic_cpu_load
定期CPU负载
pi_perf
pi_tests
prio-preempt
prio-wake
压力pi
测试pi
抢占优先级
唤醒优先级
pthread_kill_latency
posix线程终止延迟
rt-migrate
sched_football
sched_jitter
逆转录迁移
足球附表
抖动附表
;.
.
sched_latency
thread_clock
2
3
perf
延时附表
时钟线程
所有的性能检测
所有的压力检测
stress
表11 realtime测试
5 LTP测试套件配置详细
5.1 脚本配置
(1) 配置前提
A. 开启所有网络服务,在客户端和服务端上安装rshd,fingerd,nfsd,echo服务;
B. 在服务端上安装rsh服务,telnet服务,finger服务,rdist,rsync,dhcp,http,rwho服务。如果没有开启服务,则在客户端测试时会报错。添加开机启动服务如:
chkconfig[rsh/rlogin/telnet/finger/rexec/rwhod] on
C. 在客户端和服务端编辑/root/.rhosts, 192.168.12.25是服务端的主机名,192.168.12.20是客户端的主机名。如下:
192.168.12.25 root
192.168.12.20 root
D. 在服务端vi /etc/securetty,添加以下内容:
rsh
rlogin
rexec
ssh
telnet
ftp
E. FTP setup
在服务端编辑/etc/ftpusers或/etc/rs或/etc/vsftpd/rs注释掉root用户,需要安装FTP软件vsftp或其他;
F. NFSsetup
在服务端编辑/etc/exports,添加如下内容:
/192.168.12.*(rw,sync,no_root_squash)
并用命令exportfs -a使其生效。
G. 服务端dhcp
编辑/etc/,添加以下内容,dhcp配置方法详细略;
ddns-update-style interim;
ignore client-updates;
;.
.
subnet 192.168.12.0 netmask255.255.255.0 {
# --- default gateway
option routers 192.168.12.254;
option subnet-mask 255.255.255.0;
option nis-domain "";
option domain-name "";
option domain-name-servers 192.168.12.25;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node(default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range dynamic-bootp 192.168.12.0 192.168.12.253;
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
# host ns {
# next-server ;
# hardware ethernet12:34:56:78:AB:CD;
# fixed-address 207.175.42.254;
# }
H. 在客户端开启rsh,finger,nfs服务,rsh,finger是由xinetd守护进程启动;
[root@CentOS ]# service xinetd start
启动 xinetd: [确定]
[root@CentOS testscripts]# serviceportmap start
启动 portmap: [确定]
[root@CentOS testscripts]# servicenfs start
I. 在服务端开启rsh,telnet,finger,rdist,rysnc,dhcp,http服务。Rsync,telnet也由守护进程xinetd启动。注:有些linux系统不是启动portmap,而是启动rpcbind;
;.
.
[root@server25 ~]# service xinetdrestart
Stopping xinetd: [OK]
Starting xinetd: [OK]
[root@server25 ~]# service dhcpd restart
Stopping dhcpd: [OK]
Starting dhcpd: [OK]
[root@server25 ~]# service portmaprestart
Stopping portmap: [OK]
Starting portmap: [OK]
[root@server25 ~]# service nfs restart
root@server25~]# /etc/init.d/httpd start
(2) 在客户端上编辑脚本,RHOST为服务端的主机名,PASSWD为服务端root用户密码。如下:
RHOST=192.168.12.25
PASSWD=123456
同时添加${TMPDIR}// –s0 –l
其中
-s0 -> 无限制循环运行。
-l -> ltpnetwork 日志名。
-o -> ltpnetwork 输出文件名。
(3) 执行脚本./
networktest脚本参数说明:
-W|w
对所有网络测试项进行测试
-D|d
默认的网络测试项
-6
测试Ipv6
-L|l
Ipv6地址库测试
-M|n
多路广播测试
-N|n
nfs测试
-R|r
rpc测试
-S|s
sctp测试
-T|t
TCP/IP命令测试
-V|v
详细信息
-H|h
显示帮助
其他 默认测试
;.
.
表12 networktest参数表
备注:默认测试将执行rpc,nfs,multicast,tcp/ip命令。TCP/IP命令的rsh,telnet,iptables部分测试存在问题;一般此测试只要运行24小时,停止可以通过CTRL+C。
5.2 配置
A. 前提条件
网络压力测试前提同网络测试,并且需要两台拥有两个以上网络接口的主机,这个测试的拓扑结构如图1:
图1
网络压力测试配置同网络功能测试配置,另外在测试网络压力时还需要开启httpd和ftp服务,sshd和dns服务不需要手动开启,测试时会自动将该服务开启。
B. 脚本配置
在运行脚本之前需要对脚本进行以下配置:
图2网络环境设置
解释说明:
RHOST
RHOST_HWADDRS
HTTP_DOWNLOAD_DIR
FTP_DOWNLOAD_DIR
FTP_UPLOAD_DIR
FTP_UPLOAD_URLDIR
IPV4_NETWORK
LHOST_IPV4_HOST
RHOST_IPV4_HOST
IPV4_NETWORK_REVERSE
远程主机名
远程主机的MAC地址
http下载存放目录
FTP下载存放目录
FTP上传目录
FTP上传的URL,只需要写出后面的目录即可
前三个字节的IP地址
本地主机的最后一个字节的地址
远程主机的最后一个字节的地址
反向解析地址
表13环境设置
注意:如果测试的是eth1端口,那么RHOST为远程主机eth0的IP地址,IPVR4-NETWORK是本地IP地址的前3位,LHOST-IPV4-HOST是要设置的eth1的IP地址的最后一位,RHOST-IPV4-HOST也是如此配置,RHOST_HWADDRS为远程主机eth1的MAC地址。另一个需要注意的问题是,在远程主机需要配置rsh,本地主机可以通过eth0和eth1的IP地址无密码登录远程主机。
测试压力值配置:
图3 网络压力值设置
解释说明:
LTP_RSH
;.
.
◇ 无密码登录远程主机的方式,例如rsh或ssh。
◇ NS_DURATION(for the continual test)
持续测试时间。这个测试时间的单位是秒,这个指标主要影响icmp/tcp/udp, ssh,ftp,http。
◇ NS_TIMES(for the repetition test)
重复性测试,这个值主要影响的是IP地址的添加和删除、IP路由的变更以及DNS的查询测试。
◇ CONNECTION_TOTAL(for creating a large number of connection test)
连接总数,这个值主要对udp/tcp下的相同或不同端口的多连接有影响,以及对ftp和http的测试用例有影响。
◇ IP_TOTAL (for adding large number of IP addresstest)
增加大量IP地址的测试,对一个接口增加大量的IP地址,这个值主要影响接口测试。
◇ IP_TOTAL_FOR_TCPIP (for multi IP address/alias test inicmp/udp/tcp)
在TCP/UDP/ICMP上的对IP地址或别名的测试。对于TCP/IP的测试用例,增加一个接口增加大量的IP地址,这个值会影响UDP/ TCP连接到不同的IP 地址/别名测试用例。
◇ ROUTE_TOTAL (for adding large number of route test)
在一个接口上增加大量的路由,从而对接口进行压力测试。
◇ MTU_CHANGE_TIMES (for changing mtu test)
接口最大传输单元值的改变次数,改变的时间间隔为5s。因此改变的时间要求5xMTU_CHANGE_TIMES这个值主要是对接口进行测试。
◇ IF_UPDOWN_TIMES (for interface up/down test)
网络接口开关次数。
◇ MCASTNUM_NORMAL (for multicast tests)
针对于多路广播的测试,加入广播的数目。
◇ MCASTNUM_HEAVY (for multicast tests)
多路广播测试。
◇ DOWNLOAD_BIGFILESIZE (for http/ftp downloading stress test)
下载文件大小,对FTP/HTTP下载压力测试。
◇ DOWNLOAD_REGFILESIZE (for http/ftp downloading stress test)
大量用户下载该文件,主要是对ftp的下载和http的测试。
◇ UPLOAD_BIGFILESIZE (for ftp uploading stress test)
上传文件大小,这个测试主要针对于ftp的上传压力测试,要保证有足够大的剩余空间。
◇ UPLOAD_REGFILESIZE (for ftp uploading stress test)
ftp上传压力测试。
C. 脚本执行
;.
.
./[选项]
选项说明:
-E|e
网络接口压力测试
-I|i
ICMP协议压力测试
-T|t
TCP/IP压力测试
-U|u
UDP/IP压力测试
-M|n
多路广播压力测试
-R|r
-B|b
-S|s
-W|w
-D|d
-N|n
-V|v
-H|h
路由表压力测试
IP破坏性测试
选择测试
所有网络项压力测试
测试时间(默认为1小时)
选择网络接口
详细信息
显示帮助
表参数表
D. 备注
在配置脚本时需要双网卡,通过配置eth0,eth1用于rsh或ssh链接,eth1则用于网络测试接口。因此在设置时,作如下配置:
export TMPDIR=/tmp/netst-$$
mkdir $TMPDIR
VERBOSE="no"
INTERFACE="eth1"
因为配置IPV6和IPSec,在测试这两个案例存在错误,是正常情况。有些测试用例需要内核等支持。
5.3 open_posix_testsuite测试套件
对于open_posix_testsuite测试套件配置,ltp默认没有编译。要进行posix标准测试,首先在ltp源包目录,进入testcases/open_posix_testsuite,使用make命令进行编译,编译成功后,在bin目录下会生成、两个脚本,执行脚本可执行所有测试,但该脚本存在问题。如下修改:
!/bin/sh
#
# A simple wrapper for executing all ofthe tests.
;.
.
#
# See COPYING for licensing details.
#
# Garrett Cooper, July 2010
#
FAILED=0
RPOG_SCRIPT="./"
for option_group in AIO MEM MSG SEM SIGTHR TMR TPS; do
if ! $RPOG_SCRIPT $option_group
then FAILED=1
fi
done
exit $FAILED
解释说明:
在执行脚本时调用执行脚本,在执行遇到错误时,将以错误退出。
脚本可分别对posix内容进行测试,其执行方法为:
用法: [选项]:
AIO,执行异步I/O测试:./ AIO
SIG,执行信号测试:./ SIG
SEM,执行信号量测试:./ SEM
THR,执行线程测试:./ THR
TMR,执行定时器和时钟测试:./ TMR
MSG,执行消息队列测试:./ MSG
TPS,执行线程和进程同步测试:./ TPS
MEM,执行映射,处理和共享内存测试:./ MEM
5.4 realtime配置
进入ltp源目录,在testscripts目录中执行test_realtime。执行方法如下:
用法:test_ -t test-argument [-l loop num_of_iterations][-t test-argument1 [-l
loop ...]] ...
其中test-argument = func | stress | perf |all | list | clean | test_name
解释说明:
func = 所有的功能将被测试
stress = 所有的压力测试将被执行
perf = 所有的perf项将被执行
;.
.
all = 所有的测试将被执行
list = 列出所有可测试项
clean = 清除所有执行和日志
test_name = 只有test_name subdir 将被执行 (e.g:func/pi-tests)
5.5 mm脚本的配置
(1) 该脚本必须由root用户来使用;
(2) 执行该脚本要求系统必须已经安装了,并且把它安装在/usr/local/lib/;
(3) 安装完成后即可执行该脚本不需要进行其它的配置;
(4) 执行测试的命令是:./runltp -p -f mm;
5.6 io脚本配置
(1) 该脚本必须由root用户来使用;
(2) 执行该脚本要求系统必须安装了libaio-0.3.92;
(3) 执行测试:
[root@CentOSltp]# ./runltp -p -f io
(4) 执行结果:
<<
tag=aio01stime=1302158338
…………..
INFO: ltp-panreported all tests PASS
5.7 filecaps的配置
(1) 该脚本也是必须由root用户使用的,测试需要安装libcaps-2.11或者是更高的版本,而且要求系统中的libattr是可以提供使用的;
(2) 要求系统内核的配置是:CONFIG_SECURITY_FILE_CAPABILITIES=y;
(3) 执行测试:
[root@CentOS ltp]# ./runltp -p -f filecaps
(4) 测试结果
……………………………
tag=Filecaps stime=1303111621
cmdline=""
contacts=""
analysis=exit
<<
;.
.
Running in:
cap_sys_admin tests
filecaps 1 TCONF : System doesn't have POSIX capabilitiessupport.
testing for correct caps
filecaps 1 TCONF : System doesn't have POSIX capabilitiessupport.
testing for correct pI checks
filecaps 1 TCONF : System doesn't have POSIX capabilitiessupport
……………………
INFO: ltp-pan reported all tests PASS
5.8 tpm_tools的配置
执行的命令:ltp目录下执行./runltp –ftpm_tools或者在testscripts下执行./test_tools
5.9 tcore的配置
前提条件:需要expect 命令支持,查看系统是否安装expect工具。
tcore是核心转储测试脚本。执行命令:./runltp -f tcore。
5.10 io_floppy的配置
(1) 该脚本需要软驱才能够执行所以我们不对其进行测试;
(2) 要求系统具有软驱;
(3) 执行测试的命令:./runltp -p –f io_floppy (注:执行测试以后软驱中的所有的数据将会丢失)。
5.11 io_cd 的配置
(1) 确定光驱中有CD;
(2) 执行测试的命令是:./runltp -p –f io_cd。
5.12 cpuhotplug的配置
(1) 对于该脚本需要内核支持:
CONFIG_HOTPLUG=y
CONFIG_HOTPLUG_CPU=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_FAKE=y
CONFIG_HOTPLUG_PCI_COMPAQ=y
;.
.
CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
CONFIG_HOTPLUG_PCI_IBM=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=y
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
CONFIG_HOTPLUG_PCI_SHPC=y
需要对/opt/ltp/testcases/bin/cpu_hotplug/的第14行做如下的修改:
14 for case in$LHCS_PATH/functional/hotplug??.sh; do
备注:红色字体表示行号。
(2) 执行测试:
[root@CentOS ltp]# ./runltp -p -fcpuhotplug
5.13 的配置
(1) 该脚本不需要进行配置;
(2) 执行测试:
[root@CentOS testscripts]# ./ -d 2 -n 2
(3) 测试结果:
Stressing /proc/[0-9]*/
Starting 'top', redirecting output to''...
LTP ADP Test done.
./: line 82: 18995 已终止 ./adp_
./: line 82: 18997 已终止 ./adp_
./: line 82: 19000 已终止 ./adp_
./: line 82: 19004 已终止 ./adp_
./: line 82: 19008 已终止 ./adp_
./: line 83: 18990 已终止 ./adp_
./: line 83: 18991 已终止 ./adp_
./: line 83: 18992 已终止 ./adp_
./: line 83: 18993 已终止 ./adp_
./: line 83: 18994 已终止 ./adp_
Done. Please check .
2011年 04月 07日 星期四 16:31:20 CST
备注:
;.
.
该脚本需要带参数运行,“-d”表示top的延期时间,“-n”top的迭代次数。输出的信息在中。
5.14 和的配置
(1)要求系统的软驱中含有软盘。
(2)要求系统的空闲的磁盘分区的大小应该大于等于100MB。
(3)执行测试的命令:./和./。
5.15 的配置
(1)开启NFS服务和portmap服务:
[root@server25 ~]# service nfs start
[root@server25 ~]# serviceportmap start
(2)要有大于等于100MB空间空闲磁盘分区,而且该分区要为主分区;
(3)执行测试:
[root@server20 testscripts]#./ -h server25 -d /dev/sda4 -t ext3
(4)测试结果:
mke2fs 1.39 (29-May-2006)
/dev/sda4 is mounted; will not make afilesystem here!
mount: /dev/sda4 already mounted or/tmp/exportfs_2196 busy
mount: according to mtab, /dev/sda4 ismounted on /tmp/exportfs_1710
umount: /tmp/exportfs_2196: not mounted
PASSED: ./ passed!
备注:
-h 后面加主机名;-d 后面加磁盘分区;-t 后面加文件系统的类型。
5.16 的配置
(1)必须有root权限来执行这个脚本;
(2)执行测试:
[root@server25 testscripts]# ./
(3)测试结果:
……………….
/tmp/isofs_3895/zabbix:
总计32
-rw-r--r-- 1 root root 18898 04-11 14:
-rw-r--r-- 1 root root 1121 04-11 14:13 zabbix_
-rw-r--r-- 1 root root 2689 04-11 14:13 zabbix_
;.
.
-rw-r--r-- 1 root root 160 04-11 14:13
-rw-r--r-- 1 root root 4537 04-11 14:13 zabbix_
-rw-r--r-- 1 root root 3843 04-11 14:13 zabbix_
PASSED: ./ passed!
5.17 的配置
(1)内核必须支持“device mapper”,而且要在系统中安装devcie-mapper包;
(2)系统要有两个分区;
(3)执行测试:
[root@server25 testscripts]#./ -a /dev/sda3 -b /dev/sda5
(4)测试结果:
……………
0 102400 linear
0 200000 linear
0 200000 linear
0 400000 striped 2 8:3 8:5 1 AA
0 102400 linear 8:3 0
0 200000 linear 8:3 0
0 200000 linear 8:5 0
0 400000 striped 2 16 8:3 0 8:5 0
Device
………..
5.18 的配置及要求
(1)要求系统以0x8e的形式划分4个分区;
(2)如果内核是2.4版本必须被配置然后重建内核,在2.5版本的内核上应当先配置Device Mapper和安装LVM2;
(3)这些操作是破坏性的,所以要求指定的分区中应该不含有重要的文件内容,执行该操后被使用的分区中的内容会被删除;
(4)执行测试:
[root@server25 testscripts]#./ -a /dev/sda4 -b /dev/sda5 –c /dev/sda6 –d
/dev/sda7 –n192.168.14.22:/tmp
(5)输出结果:
<<
;.
.
tag=gf822 stime=1302624179
cmdline="growfiles -W gf822 -D 0 -b-i 0 -L 60 -u -B 1000b -e 1 -g 20480 -T 10 -t
20480/test/growfiles/jfs/gf-bldf-$$"
contacts=""
analysis=exit
<<
incrementing stop
gf822 1 TPASS : Test passed
5.19 的配置及要求
(1)对其的配置好要求如前面6.15;
(2)执行的命令:.
/ -a /dev/sda4 -b /dev/sda5–c /dev/sda6 –d /dev/sda7 –n 192.168.14.22:/tmp
5.20 ltp-scsi_的配置及要求
(1) 要求内核支持scsi_debug模块;
(2) 需要内核开启下面的服务CONFIG_SCSI_DEBUG;
(3) 执行测命令./ltp-scsi_。
5.21 的配置及要求
(1)要求必须要有root权限来执行该脚本;
(2)要求内核配置为CONFIG_DUMMY=y,而且dummy network模块必须存在;
(3)执行测试:
[root@CentOS testscripts]# ./
-k/lib/modules/5/kernel/drivers/net/
(4)测试结果:
PASSED: ./ passed!
备注:-k后面加内核模块,也可以不加参数,不加的时候测试的是默认模块。
5.22 rpctirpc的配置及要求
(1) 介绍
RPC(Remote ProcedureCall Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使包括网络分布式多程序在内的应用程序开发更加容易。
(2) 配置说明
;.
.
在LTP源文件目录中有关于RPC的测试套件,此套件分为两类:一类是基本的测试套件,主要测试对象是单客户端-服务器模式;另一类包括所有的测试库,如SunRPC、TI-RPC。
下面就详细介绍一下TI-PRC测试套件的配置和用法:
在使用测试套件之前,需要准备一台以上的主机,并且所有的主机必须运行ssh服务。在运行ssh服务是要在各主机上配置无密码登陆方式。具体如下(以一台主机为例):
图4生成ssh密钥
将公钥传到服务器端:
图5
经过上述步骤就完成了对ssh无密码登录的配置。
(3) 快速安装套件
在终端运行一下命令,安装和配置测试套件:
$./
或者
$./ctive
配置测试套件运行方式(IP,登录):
$make deploy
$make all
这时就完成了配置,就可以使用此测试套件了。
(4) 运行测试套件
a.运行所有的测试内容
./rpc_ts_ -all
b.运行部分测试内容
./rpc_ts_
在运行此部分时,会提示你选择要测试的内容,如RPC、TI-RPC或者两者都要测试等。
5)在runtest目录级别运行
$./runtlp –f rpc
或者
$./runltp –f tirpc
或者
$./runltp –f rpctirpc
5.23 test_的配置及要求
(1)要求把/usr/sbin添加到PATH中;
(2)在/etc/seliinux/中添加expand-check=0;
(3)查看内核是否开启以下的功能(如果没有则需要开启):
CONFIG_SECURITY=y
;.
.
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
This has to be set to a positive valueif you want to test this check.
Fedora kernels set it to 65536.
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y
CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX=y
You don't want this one unless you arerunning Fedora 3 or 4.
On anything newer, it will causeunnecessary policy expansion.
CONFIG_SECURITY_SMACK=y
CONFIG_SECURITY_SELINUX=y
(4)执行测试:
[root@CentOS ltp]# ./runltp -p -fselinux
5.24 smack的配置和要求
(1)要求smack和selinux不能够同时运行,不能测试同一个运行中的内核;
(2)查看内核是否开启以下的功能(如果没有则需要开启):
CONFIG_NETLABEL=y
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SMACK=y
CONFIG_SECURITY_SELINUX should not beset
执行如下的命令:
mkdir -p /smack
在文件/etc/fstab添加下面的一行
;.
.
smackfs /smack smackfs defaults 0 0
然后执行下面的命令:
mount –a
(3)执行的命令
[root@CentOS ltp]# ./runltp -f smack
5.25 perfcounters的配置及要求
(1)执行测试:
[root@CentOS ltp]# ./runltp -p -fperfcounters
(2)测试结果:
……………..
<<
tag=performance_counter01stime=1302139743
<<
tag=performance_counter02stime=1302139743
………………………….
INFO: ltp-pan reported all tests PASS
5.26 can的配置及要求
CAN(Controller AreaNetwork)是一个缓慢(高达1Mbit/ s)的串行通信协议,主要为汽车,但现在广泛应用于海洋(NMEA2000),工业和医疗。
备注:该模块的运行需在linux-2.6.25或者以上版本中,并且在运行之前需要在文件的源目录(例如:/opt/ltp-20110228/testcases/networ/can/filter-tests)中进行配置。
配置如下:
1) 创建测试环境
$make
2) ./run_ltp-can_
3) 在安装目录中运行
$ ./runltp -f can
4) 清除使用痕迹,在源目录中运行
$ make clean
5.27 test_的配置
(1)要求要有一个镜像文件,创建两个目录;
(2)把该镜像文件挂载到指定的目录:
;.
.
[root@centos22 chenbo]# mount -t -o loop
/chenbo
(3)把有一个目录绑定到另一个目录:
[root@centos22 chenbo]# mount --bind chenbochenbo1
(4)执行下面的命令:
[root@centos22 /]# mount chenbo -o remount,ro
(5)执行测试(要在只读目录中执行脚本):
[root@centos22 chenbo]#../opt/ltp/testscripts/test_
/tmp/fs3522/dir1 /tmp/fs3522
TDIR is /tmp/fs3522/dir1
(6)执行结果:
执行的结果存放在/tmp下面,有若干个名字如fs加数字目录,目录中的和分别存放了成功的和错误的信息。
6 LTP测试套件使用说明
6.1 概述
LTP提供了两个非常强大的脚本:和。 用于验证内核。这个脚本串行地运行一组测试,并报告全部结果。因此,也可称这个脚本为初始测试或串行压力测试。默认地,这个脚本执行:
- 文件系统压力测试。
- 硬盘 I/O 测试。
- 内存管理压力测试。
- IPC 压力测试。
- SCHED测试。
- 命令功能的验证测试。
- 系统调用功能的验证测试。
但还提供了其他方面的测试:如网络,网络压力,NFS,光驱压力等等(详细使用见下)。ltp提供的测试内容不完全写入,测试时可以根据需求修改并添加内容,相关配置可以参考《LTP测试套件配置详细》。需要注意的是:默认情况,和runltp执行的内容是一样,因为默认的脚本只开启了runltp默认的场景。runltp默认执行的就是上面7方面内容。
runltp脚本可以执行指定的测试项目,因此测试可以根据需求或指标设计一套压力测试脚本。
是一个并行的压力测试脚本,在使用网络与内存管理的同时并行地运行大范围的内核组件,并在测试系统上生成高压力负荷。 也是 LTP 测试套件的一部分。;.
.
这个脚本并行地运行相似的测试用例,串行地运行不同的测试用例,这样做是为了避免由于同时访问同一资源或者互相干扰而引起的间歇性故障。因此这个测试脚本可以称为系统压力测试。默认地,这个脚本执行:
- NFS 压力测试。
- 内存管理压力测试。
- 文件系统压力测试。
- 数学 (浮点) 测试。
- 多线程压力测试。
- 硬盘 I/O 测试。
- IPC (pipeio, semaphore) 测试。
- 系统调用功能的验证测试。
- 网络压力测试。
ltpstress压力测试可以验证产品在系统资源高使用率时的健壮性。
6.2 初始测试
6.2.1 runltp使用说明
用法:./runltp [option] [command]
-a EMAIL_TO
-c NUM_PROCS
发送所有的报告到指定的邮箱
添加后台测试CPU的进程数,默认1
-C FAILCMDFILE
-d IMPDIR
-D
失败案例存储文件
临时存储目录,默认/tmp
run LTP under additional
NUM_PROCS,NUM_FILES,NUM_BYTES,CLEAN_FLA background Load on Secondary
Storage (Seperate by comma)
[NUM_PROCS = no. of
processes creating Storage
Load by spinning over write()]
[NUM_FILES = Write() to
these many files (Defaults to 1
when value 0 or undefined)]
[NUM_BYTES = write these
many bytes (defaults to 1GB,
when value 0 or undefined)]
[CLEAN_FLAG = unlink file
;.
.
to which random data written,
when value 1]
-e
-f CMDFILES
输出目前LTP版本的日期
执行用户自定义的测试案例,用“ ,”隔开(CMDFILES指runtest内的驱动程序)
-g HTMLFILE
添加html格式的输出文件HTMLFILE
-h
-i NUM_PROCS
帮助信息
添加后台测试IO bus总线的进程数
-l LOGFILE
记录测试日志的文件
run LTP under additional
background Load on Main
memory (Seperate by comma)
[NUM_PROCS = no. of
processes creating main
Memory Load by spinning over
malloc()]
[CHUNKS = malloc these
many chunks (default is 1 when
value 0 or undefined)]
[BYTES = malloc
CHUNKS of BYTES bytes
(default is 256MB when value 0
or undefined) ]
[HANGUP_FLAG = hang in a
sleep loop after memory
allocated, when value 1]
-N
-n
-o OUTPUTFILE
添加所有的网络测试
添加后台测试网络传输
直接打印测试输出到OUTPUTFILE
-p
人为指定日志格式
-m NUM_PROCS,CHUNKS,BYTES,HANGUP_FLAG
;.
.
-q
-r LTPROOT
-s PATTERN
-t DURATION
打印少的测试输出到屏幕
匹配PATTERN执行测试案例
给定测试执行时间设置(s,m,h,d)
-T REPETITION
-v
-w CMDFILEADDR
重复执行测试案例
打印多的测试输出到屏幕
使用wget下载用户测试案例集合。
-x INSTALL
表15 runltp参数表
并行执行多个测试场景
6.2.2 脚本说明
此脚本直接运行,默认是测试所有LTP能测试的方面。
;.
版权声明:本文标题:LTP性能测试工具详细介绍 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1706141317a172723.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论