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

mail

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 -o -p –q

其中

-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能测试的方面。

;.

本文标签: 测试脚本执行压力需要