您的当前位置:首页LTP性能测试工具详细介绍

LTP性能测试工具详细介绍

2020-11-12 来源:飒榕旅游知识分享网



LTP工具说明

1LTP测试套件..........................................................................2 ..............................................................................2 ___________源目录结............................................................2 2 LTP安装............................................................................3 ___________...................................................................3 ___________编译..................................................................3 ___________安装...............................................................43 LTP测试套件..................................................5 ___________ ____________________________________________________________________5 __________________________________________________________________________5 ___________LTP行原理____________________________________________________________54
LTP测试套件测试内容..................................................5 ___________LTP测试套件测试内容..................................................5 ______commands.............................................................. 6 ______kernel................................................................ 6 ______kdump................................................................. 6 ______network............................................................... 6 ______realtime.............................................................. 6 ______openposix testsuite.................................................. 7 ______misc.................................................................. 7 ___________测试方法..........................................................7 ______commands内容描述及实现方法.......................................7 ______kernel................................................................ 8 ______network.............................................................. 14 ______openposix_testsuite.................................................. 16 ______realtime............................................................. 175
LTP测试套件配置详细.................................................18 ______________脚本配置_____________________________________________________________18 ______________配置_________________________________________________________________20 ______________openposix testsuite 测试套件....................................23 ______________realtime配置......................................................24 ______________mm脚本的配置.......................................................25 ______________io脚本配置.........................................................25 ______________filecaps的配置...................................................25 ______________tpmtools 的配置..................................................26 ______________tcore的配置......................................................26 iofloppy的配置...............................................................26 io_cd的配置...................................................................26 cpuhotplug的配置.............................................................26 的配置.........................................................................27 和的配置......................................................................27 的配置.........................................................................28



的配置.........................................................................28 的配置.........................................................................29 的配置及要求...................................................................29 的配置及要求...................................................................30 的配置及要求...................................................................30 的配置及要求...................................................................30 rpctirpc的配置及要求.........................................................30 的配置及要求...................................................................31 smack的配置和要求..............................................................32 perfcounters的配置及要求.......................................................33 can的配置及要求................................................................33 的配置........................................................................336 LTP测试套件使用..................................................34 ___________概述.................................................................34 ___________初始测试.............................................................35 ______runltp使用.....................................................35 脚本.............................................................37

1LTP测试套件

简介

LTP(LinuxTest Projec t)SGIIBMOSDLBull合作的项目,目的是为开源社区提供一个测试套件,

用来验证Linux系统可靠性、健壮性和稳定性。LTP测试套件是测试Linux内核和内核相关特性的工具的集

合。该工具的目的是通过把测试自动化引入到Linux内核测试,提高Linux的内核质量°LTP提供了验证丨

inux系统稳定性的标准,设计标准的压力场景,通过对丨inux系统进行压力测试,对系统的功能、性能进

行分析,并以此确定linux系统的可靠性、健壮性和稳定性。源目录结构



如表1,是对LTP源包目录结构的描述:

INSTALL

LTP安装配置指导文档

README

LTP介绍

CREDITS

记录对LTP有很大贡献的人

COPYING

GNU Public License

ChangeLog

描述版本变化

ltpmenu

规划执行LTP的图形化界面接口

Makefile

LTP顶层目录的Makefile,负责编译安装pant es teasestools


顺序运行全部测试例程并且报告结果的脚本

doc/*

工程文档包含工具和库函数使用手册,描述各种测试

include/*

通用的头文件目录

lib/*

通用的库函数目录

testcases/*

包含在LTP下运行和bin目录下的所有测试用例和链接

testscripts/*

存放分组的测试脚本

runtest/*

为自动测试提供命令列表

pan/*

测试的驱动装置。具备随即和并行测试的能力

scratch/*

存放零碎测试的东西

tools/*

存放自动化测试脚本和辅助工具

1LTP源代码结构

2LTP安装
下载
LTP是一项动态工程,LTP源包命名方式一般为:Itp-yyyymmdd。目前版本为Itp-。以下均为ltp-

版本的配置,官网地址为:。

编译
从官方网站下载最新的LTP测试套件包,解压后进入ltp源目录。按照表2方法进行快速安装,在编

译成功后会自动安装到/opt/ltp目录下。

[root@server20ltp]#./configure

[root@server20ltp]# make

[root@server20ltp]# make install


检查系统是否缺少执行LTP测试套件所需的用户和用户组,如果缺少则为LTP





试套件创建所需的用户和用户组。


这个脚本用来测试LTP安装,也可用来对测试套件的子项目进行测试。详情参阅 脚本。

runltp

这个脚本能够测试LTP测试套件主要项目。其中包括: -硬盘I/O测试。-内存管理压力测试。

-IPC压力测试。

-SCHED 测试。

-命令功能的验证测试。

-系统调用功能的验证测试。

ver linux

这个脚本是获取硬件、软件、环境信息。


测试内容同runltp,不同点在于runltp可以指定测试项进行组合测试,而则会 全部执行。

testscripts

列举了所有的子系统测试脚本,脚本说明见下文。

fs ro tests






2编译
安装说明

在安装编译Itp之前,需要确定linux系统“make版本Itp编译需要“make版本最低要求为“make”,优先使用“make版本。为了编译和使用ltp-scanner,linux系统需3TP§e套件方方说明安装说明文件INSTALL(源包目录)

概述

LTP编译成功后,包含三大部分:测试案例、测试脚本、测试驱动。测试案例目录为testeases/,testeases/包含了测试案例和案例脚本;测试脚本主要目录为testscripts/,里面包含了文件系统,磁盘,内核,内存等测试脚本;测试驱动目录为bin/该目录存放了 ltp各种驱动脚本,如Itp-panItp-scanner等。

目录介绍

3描述了ltp编译后各目录存储的内容和功能:

目录名

功能

bin

存放LTP测试的一些辅助脚本




resuIts

测试结果默认存储目录

testcases

测试项集

output

测试日志默认存储目录

share

脚本使用说明目录

runtest

测试驱动(用于链接tes tscrip ts内的测试脚本和tes teases测试项目)

lib

通用的库函数目录

3目录描述
LTP执行原理

从一个测试命令文件(或脚本)中读取所测条目需要执行的命令行,然后等待该项测试的结束,并记录详

细的测试输出。默认状态下pan会随机的选择一个命令行来运行,可以指定在同一时间要执行测试的次

数。pan会记录测试产生的详细的格式复杂的输出,但它不进行数据的整理和统计,数据整理统计的工作

scanner来完成,scanner是一个测试结果分析工具,它会理解pan的输出格式,并通过表格的形式总结

测试passedfailed的情况。简单地说,LTP测试套件通过执行测试脚本(或runltp或或testscripts内的测试脚本,调用驱4LTP行蔚试套件测试内容并利用scanner整理数据。

LTP测试套件测试内容

Itp-版本为例(目前是最新)。丨tp-测试内容主要包括以下几大部分:commands常用命令测试),kernel内核模块及其相关模块,如文件系统,磁盘读写等),kdump(内核转储)network (网络),realtime (系统实时性)open_posix_testsuite posix标准),misc
(崩溃,核心转储,浮点运算等)。以下是具体内容:

commands

cpio mv

ejec t mkdir

gzip ln

mail cp

su size

at objdump

cro n nm

logroate ldd

tar ld

un zip file




4commands
kernel

这个模块主要对系统的文件系统、进程通信、模块管理、内存、系统调用、系统调度、磁盘读写、安全等

5



fs

connectors

Ipc


module

pty


t imers

containers

hotplug


numa

sched


tracing

controlers

include


mce-test

performance counters

securitydevice-drivers io

mem

power management

syscalls





5kernel相关测试内容
kdump

kdump是系统崩溃转储功能,这个模块是对kdump工具实现崩溃转储的测试。network

net work 功能点非常多,包括 dhcp, nfsrpciprou te

具体如表6所示:


can iproute

rpc tcp cmds

datafiles

iptables multi cast

sctp traceroute

dhcpd

lib6 nfs

sockets xinetd

nfsv4

stress



6network
realtime

realtime测试套件是对linux系统实时性进行测试。
open_posix_testsuite

open_posix_tes tsui te测试套件是对linux系统open_posix符合性进行测试。misc

misc包括系统crashfOOf,math, tcore_patch_test_suites 测试。测试方法说明

commands模块内容描述及实现方法

测试内容

子测试 点

内容含义

脚本说明




1

ade

ar

可以用来创建、修改 库,也可以从库中提 出单个模块

用来测试该系统命令的文件是
run test/comma nds, 可以通过 runltp脚本调用。例子:./runltp -f commands

file

辨识文件类型

ld

一定量的目标文件 跟档案文件连接起 来,并重定位它们的 数
据,连接符号引用

ldd

用来查看程序运行 所需的共享库,常用 来解决程序因缺少 某个库文件而不能 运行的一些问题

nm

显示目标文件的符号表

objdump

显示二进制文件信 息

size

显示文件大小

2

at

任务规划工具。测试 内容为/etc//etc/功能

测试脚本在testcases/bi n/testcases/b in/

3

cpio

存取归档包中的文 件

用来测试该系统命令的文件是
run test/comma nds, 可以通过 runltp脚本调用。例子./ru nltp -f
commands

4

cro n

在一定的时间间隔 调度一些命令的执 行

5

eject

退出抽取式设备

测试脚本为: testcases/b in/

6

fileutils

cp

复制命令

用来测试改系统命令的文件是 run test/comma nds, 可以通过 runltp脚本调用。例子./ru nltp -f commands

ln

符号链接命令

mkdir

创建目录

mv

移动或重命名

7

gzip

解压缩命令

8

logrotate

管理记录文件

9

mail

收发邮件管理

10

su

变更用户

测试脚本为 testcases/bin/su01但在执行改脚本之前,系统需要安 装有 expect 命令

11

tar

对文件目录进行打包备份

用来测试该系统命令的文件是
run test/comma nds, 可以通过 runltp脚本调用。例子:./runltp








-f commands

12

12 tpm-tools

tpm-tools TPM 芯 片的管理工具。对
tpm-tools进行测 试,需要确定系统安 装有TPM芯片,且系 统为Linux

TPM实际上是一个 含有密码运算部件 和存储部件的小芯 片上的系统,由CPU、 存储
器、 I/O、密码运算
器、 随机数产生器和嵌 入式操作系统等部 件组成。

此功能在run test中的tpm_tools 中,可以使用runltp脚本加上 tpm_tools参数执行,也可以在 testscripts 中调用 tpm_tools 脚 本执行

13

un zip

解压缩zip文件

用来测试该系统命令的文件是
run test/comma nds, 可以通过 runltp脚本调用。例子:./runltp -f commands

7commands实现方法

kernel


编号

测试项

子测试项


对应脚本以及说明

含义

1 connectors

./runltp -f connecors

网络连接器测试


2

fs

acl

3

acls

4 dmapi

5 doio

6 ext4-new-fea

测试方法:
testcases/bin/

测试ACL访问控制列表)和Excent Attribute
注:内核支持loop设备;一 个大于100M的磁分区;内核 支持ACL功能

测试方法:
tescases/bin/acl_testO 1

测试扩展的acls
需求:同上



dmapi功能验证测试
注:Itp没有编译此功 能需要到源目录执行,参照 dmapi下的README

testcases/bin/growfile

doio和读写测试

./runltp -f fs ext4

ext4文件系统测试




t ures

7

8

9

fs-bench
fs_bind

fs di

10

fs_inod

11

fs_maim


12

fs_perms


13

fsstress

14 fsx-linux

15 ftest

16 inode

17 Iftest

18 linktest

19 mongo

20 openfile

21 proc





testcases/bin/

文件系统的压力测试

/testscripts/

测试LINUX内核的绑定安装和共享子树的能力

./runltp -f fs

文件系统的数据完整性

./runltp -f fs

在后台运行多个进程来快速创 建和删除文件,用户可以指定 创建的目录、文件数等

backbeat
maimparts
partbeat

fs_maim是存储管理工具压力 测试集合
注:因fs_maim行会 坏数据,因此并没有编译 情参找源目下到fs_maim

测试脚本:
./runltp -f
fs perms simple

这个脚本是测试文件执行到权 限,群组和用户组

testcases/bin/fsstres;详细用法可以参照该脚本

文件系统压力测试
注:文件系统压测试

添加到脚本testscripts/

runltp runalItests

./runltp -f fs

fsx文件系统的压力测试

./runltp -f fs



./runltp -f fs



./runltp -f fs



./runltp -f fs

回归测试文件的连接,常见一 个硬链接和一定数目的软链接

testcases/bin/
testcases/bin/run_mong o testcases/bin/

mongo文件测试
注:测试mongo文件可能会 擦除以前的内容,会坏文件。 详细配置源目下的mongo

./runltp -f fs



testscripts/

proc文件系统上执行自动数




22

quote_remoun t

23 racer

24 scsi

25 stream


据处理的压力测试

./runltp -f fs

测试内核是否支持重新挂载额定的大小文件

./runltp -f fs

文件操作测试如:创建文件,删除等操作

/testscripts/

测试SCSI模块

./runltp -f fs

文件流写入测试

26 module

/testscripts/load_

./runltp -f modules

对内核模块进行测试


27

ipc

Ipc stresss

28

pipeio

29

semaphore


./runltp -f ipc

进程间通信压力测试

./runltp -f pipes

ipc的管道压力

./runltp -f ipc

信号量测试

30 pty

./runltp -f pty

终端类型的压力

31 t imers

./runltp -f timers

posix计时器测试

32 containers

./runltp -f

containers

testscripts -f

命名空间资源


32

hotplug

cpu hotplug

33

memory_hotpl

ug

/runtest/cpuhotplug

验证cpu的热插拔功能

testcases/bin/memtoy

验证内存的热插拔功能注:需要numa支持

34 numa

./runltp -f numa

非统一内存访问

35 sched

./runltp -f sched

调度压力测试

36 tracing

./runltp -f /tracing

跟踪测试
注:内核版本需要以上

37 controller

s

./runltp -f

controllers

资源管理测试
注:内核版本以上

38 performanc e

counters

./runltp -f

perfcounters

测试基本的性能计数

39 mce-test



LINUX内核mce的处理功能的测试脚本和工具集。

这是一个测试mce的测试套件






需要编译。具体详情见该目录下的doc目录


40

securi ty

securebits

41

cap_bound

42 integri ty

43 mmc_security

44 smack

45 filecaps

46 p9auth

47 selinux-test

suite

48 tomoyo

./runltp -f
securebits

注:个功能需要至少版本 到内核,并且需要
/usr/include/linux/libcap v2/usr/include/linux/ 被安 装

./runltp -f

cap_bounds

P0SIX功能绑定设置

./runltp -f ima

测试体系结构的完整性(ima注:需要内核支持
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX =10
CONFIG_IMA_AUDIT=y
CONFIG IMA LSM RULES=y

testcases/bin/ && testcases/bin/ && testcases/bin/ && testcases/bin/ && testcases/bin

用户界面的mmc密码保护支持 注:需要安装keyutils包, 在测试mmc之前需要配置 keyutils

./runltp -f smack

测试smack安全模块

./runltp -f filecaps testscripts/

基于安全的文件功能测试套件

./runltp -f p9auth

安全策略测试,如
opensslcaphashcapuse

./runltp -f selinux

测试SELINUX安全模块

testcases/bin/

tomoyo安全测试
注:需要安装tomoyo包,并 配置源目tomoyo




device-dri
vers (硬件
设备驱动测
试)


这一测试工具并没有编译,如 果要测试执行下面的操作1. 进入想要测试的目录并运行 make命令;2在源目录目录中, 用insmod加载.o文件。3.运行 insmod确定内核是否已经载 入;4到源目录运行*.sh或者 是其他的可执行文件;5.其结 果会被输出;6这些测试通常 会在几秒钟内完成,然后可能 需要重启。

49 acpi


执行ACPI测试

50 base



51 dev_sim_fram

ework



52 nls


支持本国语言测试

53 t bio



54 v4l



55 agp


加速图形接口测试

56 block



57 drm



58 misc modules



59 pci


外部控制器接口PCI测试

60 rtc


测试etc (实时时钟)驱动

61 usb


usb接口测试


62

io

aio


./runltp -f io

aio异步输入输出测试)

63
stress_flopp y

testscripts/

软驱压力测试

64 disktest

testcases/bin/disktest

硬盘测试
注:disktest使用

具体参照脚本和源目disktest明文件

65 direct_io

./runltp -f
test dma thread di otes







t7


66 Itp-aiodio

/testscripts/


67 stress cd

testscripts/

光驱压力测试

68 wri tetest

./runltp -f fs

写入测试

69 mem内存测

试)

./runltp -f mm

内存管理测试

70 power_mana

gement

./runltp
-fpower_management_tes ts

电源管理测试

71 syscalls

./runltp -f
runtest/syscalls

系统调用测试

8kernel相关内容测试方法

network

序号

测试内容

子测试点

内容含义

脚本说明

1

can

Controller area network

./runl tp -f can在测试之前需要
/Itp-/testcases/networ/can 中配置,具体 方法参照此目录下的INSTALL,此功能需要 运行在以上版本。

2

dhcpd

测试dhcpd服务

运行方式:/runltp - f tcp_cmds,安装dhcpd服务

3

iproute

测试ip命令的基本功 能

本地测试
/Itp/testcases/network/iproute/

4

lib6

Ipv6地址库测试

所属测试脚本,测试时后跟参数-L;也可以在脚本下跟ipv6 lib参数

6

nfs

网络文件系统测试,包括nfs压力测试

所属测试脚本,测试时后跟参数-N 需要开启nfsportmap服务,并配置

7

rpc

rpc基本测试

rpcrpc压力测试

所属测试脚本,测试时后跟参数-R,需要开启 portmap月服务或 rpcbind月服务;或./runltp -f rpc



rpc-tirpc测试套件

rpc传输测试

脚本执行./runl tp-f rpc tirpc脚本详细配置见下

8

sockets

套接字测试

本地测试:/opt/tp/testcases/bin/ ;








要跟参数运行

9

tcp_cmds

tcp命令测试:包括:
arpftp, echohost, fingerinsclude
netstat, scprdistrloginrshrwhosendfilessh
tcpdumptelnet

所属测试脚本,测试时后跟参数-T;也可以 在脚本下跟tcp_cmds参数进行测试
需要在测试时开启echo-stream服务、dhcpd
服务等
arp测试需要远程主机和本地主机在同一个 子网中。

可以finger命令测试需要开启fingerd守护进 程,使用setup选择系统服务
rwho命令的测试需要在两台机子上安装并 开启rwhod守护进程
tcpdump命令测试时也需要两台主机在同一一 个子网中。

10

xinetd

xinetd服务

本地测试,/opt/ltp/testcases/bin/

11

iptable

iptables (防火墙管理)

运行方式:/runltp - f tcp_cmds

12

multi cast

多路广播测试

所属测试脚本,测试时后跟参数-M;也可以在脚本下跟multicase参数进行测试

13

nfsv4

nfs v4测试

所属脚本,也可单独执行:./runl tp-f nfs

14

sctp

流传输控制协议测试

所属测试脚本,测试时后跟参数-S也可以 在脚本下跟sctp参数进行测试

15

stress

broken ip

发送大量IP

所属测试脚本,具体测试所跟参数后面介绍。 在run test目录中有对个各个功能的压力测 试,可以单独测试。如:
./runltp -f
./runltp -f
./runltp -f
./runltp -f
./runltp -f
./runltp -f
./runltp -f
./runltp -f
./runltp -f
./runltp -f

dns

DNS服务器正反向查找 域名是的承受能力

ftp

ftp服务客户端大量请 求、下载压力测试()

http

http服务器客户端大量请求压力测试

icmp

ICMP压力测试

interface

接口压力测试

multi cast

多路广播压力测试

route

路由压力测试

ssh

建立大量ssh会话连接压力测试





tcp

tcp压力测试

./runltp -f

udp

udp压力测试

traceroute

路由跟踪测试

本地测试:
/opt/ltp/testcases/bin/

9net work测试方法open_posix_testsuite

序号

测试内容

子测试点

内容含义

备注

1

AIO

执行异步I/O测试

执行加参数AIO运行

2

SIG

执行信号测试

执行加参数SIG运行

3

SEM

执行信号测试

执行加参数SEM运行

4

THR

执行线程测试

执行加参数THR运行

6

TMR

执行定时器和时钟测试

执行加参数TMR运行

7

MSG

执行消息队列测试

执行加参数MSG运行

8

TPS

执行线程和进程同步测试

执行加参数TPS运行

9

MEM

执行映射,处理和共享内存测试

执行加参数MEM运行

10posix测试
realtime

序号

测试内容

子测试点内容含义

备注

1

func

async handler 异步处理程序

脚本为 testscripts/

gtod latency gtod延迟


hrtimer-prio 高精度时间处理优先级


matrix muIt 矩阵乘运算


measurement 测量


periodic cpu load 定期CPU负载


pi perf 压力pi


pi tests 测试pi


prio-preempt 抢占优先级


prio-wake 唤醒优先级


pthread kill latency posix线程终止延迟


rt-migrate 逆转录迁移







sched football 足球附表


sched jitter 抖动附表


sched latency 延时附表


thread clock 时钟线程


2

perf

所有的性能检测


3

stress

所有的压力检测


5LTP测试套件配置详细

脚本配置

(1)配置前提
A.开启所有网络服务,在客户端和服务端上安装rshd,fingerd, nfsd, echo服务;
B.在服务端上安装rsh服务,telnet 服务,finger服务,rdist, rsync, dhcphttp, rwho 服务。

如果没有开启服务,则在客户端测试时会报错。添加开机启动服务如:
chkconfig[rsh/rlogin/telnet/finger/rexec/rwhod]on
C.在客户端和服务端编辑/root/.rhosts,是服务端的主机名,是客户端的主机名。如下:
root
root
D.在服务端vi/etc/securetty,添加以下内容:
rsh
rlogin
rexec
ssh
telnet
ftp
E.FTP setup
在服务端编辑/etc/ftpusers/etc//etc/vsftpd/注释掉root用户,需要安装FTP软件vsftp或其他;

F.NFSsetup

在服务端编辑/etc/expor ts,添加如下内容:

/并用命令exportfs-a使其生效。

G.服务端dhcp
编辑/etc/,添加以下内容,dhcp配置方法详细略;
ddns-update-styleinterim;

ignoreclient-updates;



subnetnetmask {

#--- defauIt gateway

option

routers

-18000; # Eastern

option

subnet-mask

option

nis-domain

option

domain-name

option

domain-name-servers

option

time-offset

StandardTime
optionntp-servers option netbios-name-servers
#--- Selects point-to-point node(default is hybrid). Don't change thisunless # ——you understand Netbiosvery well
option netbios-node-type2;

rangedynamic-bootp ;
default-lease-time21600;
max-lease-time43200#we want the nameserver to appear at a fixed address hostns {
next-serverhardware ethernet123456:78:AB:CD;
fixed-address;

H. 在客户端开启rshfingernfs服务,rshfinger是由xinetd守护进程启动;
[root@CentOS]# service xinetd start
启动
xinetd:
[确定]
[root@CentOStestscripts]# serviceportmap start 启动
portmap:



[确定]
[root@CentOStestscripts]# servicenfs start
I. 在服务端开启rshtelnet,finger, rdist, rysncdhcphttp服务。Rsynctelne t也由守护进程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/httpd start
(2) 在客户端上编辑脚本,RHOST为服务端的主机名,PASSWD为服务端root用户
密码。如下:
RHOST=
PASSWD=123456
同时添加${TMPDIR}



network test脚本参数说明:

-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

显示帮助

其他

默认测试

12net work test 参数表
备注:默认测试将执行rpc,nfs, multicast, tcp/ip 命令。TCP/IP命令的rsh,telnet, iptables部分测试存在问题;一般此测试只要运行24小时,停止可以通过CTRL+C

配置

A. 前提条件
网络压力测试前提同网络测试,并且需要两台拥有两个以上网络接口的主机,这个测试的拓扑结构如图1: 1
网络压力测试配置同网络功能测试配置,另外在测试网络压力时还需要开启httpdftp服务,sshddns服务不需要手动开启,测试时会自动将该服务开启。

B. 脚本配置
在运行脚本之前需要对脚本进行以下配置:
2网络环境设置


RHOST 远程主机名

RHOST HWADDRS 远程主机的MAC地址

HTTP DOWNLOAD DIR http下载存放目录

FTP DOWNLOAD DIR FTP下载存放目录

FTP UPLOAD DIR FTP上传目录

FTP UPLOAD URLDIR FTP 上传的URL,只需要写出后面的目录即可

IPV4 NETWORK 前三个字节的IP地址





LHOST IPV4 HOST 本地主机的最后一个字节的地址

RHOST IPV4 HOST 远程主机的最后一个字节的地址

IPV4 NETWORK REVERSE 反向解析地址

13环境设置
注意:如果测试的是ethl端口,那么RHOST为远程主机ethOIP地址,IPVR4-NETW0RK是本地IP地址的前3位,LHOST-IPV4-HOST是要置的eth1IP地址的最后一位,RHOST-IPV4-HOST也是如此配置,
RHOST_HWADDRS为远程主机eth1MAC地址。另一个需要注意的问题是,在程主机需要配置rsh,本地主机可以通ethOeth1IP地址无密录远程主机。

测试压力值配置:
3网络压力值设置
释说明:
LTP_RSH
无密码登录远程主机的方式,例如rshssh

NS_DURATION(forthe continual test)
持续测试时间。这个测试时间的单位是秒,这个指标主要影响icmp/tcp/udp,sshftphttp

NS_TIMES(forthe repetit ion test)
重复性测试,这个值主要影响的是IP地址的添加和删除、IP路由的变更以及DNS的查询测试。

C0NNECTI0N_T0TAL(forcreating a large number of connectiontest)
连接总数,这个值主要对udp/tcp下的相同或不同端口的多连接有影响,以及对ftphttp的测试用例有影响。

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

IP破坏性测试

-S|s

选择测试

-W|w

所有网络项压力测试

-D|d

测试时间(默认为1小时)

-N|n

选择网络接口

-V|v

详细信息

-H|h

显示帮助

表参数表
D. 备注

在配置脚本时需要双网卡,通过配置ethO,ethl用于rshssh链接,ethl则用于网络测试接口。因此在设置

时,作如下配置:

exportTMPDIR/tmp/netst-$$

mkdir$TMPDIR

VERBOSE"no"

INTERFACE"eth1"

因为配置IPV6IPSec,在测试这两个案例存在错误,是正常情况。有些测试用例需要内核等支持。



open_posix_testsuite测试套件

对于open_posix_testsuite测试套件配置,Itp默认没有编译。要进行posix标准测试,首先在Itp源包目录,进入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="./"
foroption_group in AIO MEM MSG SEM SIGTHR TMR TPS; do
if! $RPOG_SCRIPT $option_group thenFAILED=1
fi
done
exit$FAILED
释说明:
在执行脚本时调用执行脚本,在执行遇到错误时,将以错误退出。

脚本可分别对posix内容进行测试,其执行方法为:
用法: [选项]:
AIO执行异步I/O测试:./AIO
SIG,执行信号测试:./SIG
SEM,执行信号量测试:./SEM
THR,执行线程测试:./THR
TMR,执行定时器和时钟测试:./TMR
MSG,执行消息队列测试:./MSG
TPS执行线程和进程同步测试:./TPS
MEM,执行映射,处理和共享内存测试:./MEM
realtime配置

进入Itp源目录,在testscrip ts目录中执行tes t_real time。执行方法如下:



用法:-ttest-argumen t [-loopnum_o f_it era tio ns][-t test-argumen t1 [T loop ...

其中test-argumentfunc| stress | perf |all | list | clean | test_name 释说明:

func 所有的功能将被测试

stress 所有的压力测试将被执行

perf 所有的perf项将被执行

all二所有的测试将被执行

list 列出所有可测试项

clean 清除所有执行和日志

test_name 只有test_namesubdir 习将被执行:func/pi-tests)

mm脚本的配置

(1)
(2)

该脚本必须由root用户来使用;
执行该脚本要求系统必须已经安装了,并且把它安装在

/usr/local/lib/;

(3)
(4)

安装完成后即可执行该脚本不需要进行其它的配置;执行测试的命令是:./runltp -p -f mm;

io脚本配置

(1)
(2)
(3)

该脚本必须由root用户来使用;
执行该脚本要求系统必须安装了;
执行测试:

[root@CentOSltp]#

./runltp -p -f io

(4)

执行结果:


<<<test_start>>>

tagaioOlstime=38

INFO:Itp-panreported all tests PASS

filecaps的配置

1 该脚本也是必须由root用户使用的,测试需要安装或者是更高的版本,而且要求系统中

libattr是可以提供使用的;

2 要求系统内核的配置是:CONFIG_SECURITY_FILE_CAPABILITIESy;

3 执行测试:

[root@CentOSltp]# ./runltp -p -f

filecaps

4 测试结果



tag=Filecapsstime=21

cmdline""

contacts""

analysis=exit

<<<test_output>>>

Runningin:

cap_sys_admintests

filecaps

1 TCONF :

System doesn't have POSIX capabi litiessupport.

testingfor correct caps

filecaps

1 TCONF

:

System doesn't have POSIX capabi litiessupport.

testingfor correct pI checks

filecaps

1 TCONF

:

System doesn't have POSIX capabi litiessupport

INFO:ltp-pan reported all tests PASS

tpm_tools的配置

执行的命令:ltp目录下执行./runltp -ft pm_ to ols或者在tes tscrip ts下执行./test_tools

tcore的配置

前提条件:需要expect命令支持,查看系统是否安装expect工具。

tcore是核心转储测试脚本。执行命令:./runltp-f tcore

io_floppy的配置

(1) 该脚本需要软驱才能够执行所以我们不对其进行测试;

(2) 要求系统具有软驱;

(3) 执行测试的命令./runltp-p- f io_floppy (注:执行测试以后软驱中的所有的数

据将会丢失)

io_cd的配置

(1) 确定光驱中有CD;

(2) 执行测试的命令是:./runltp-p - f io_cd0

cpuhotplug的配置

(1) 对于该脚本需要内核支持:

C0NFIG_H0TPLUGy



CONFIG_HOTPLUG_CPUy
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUGy
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_NVRAMy
CONFIG_HOTPLUG_PCI_IBM=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=y
CONFIG_HOTPLUG_PCI_CPCI=y
C0NFIG_H0TPLUG_PCI_CPCI_ZT5550y
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
CONFIG_HOTPLUG_PCI_SHPCy
需要对/opt/ltp/testcases/bin/cpu_hotplug/的第14行做如下的修改: 14for case in$LHCS_PATH/functional/hotplug.sh; do
注:色字体表示行号。

(2) 执行测试:
[root@CentOSltp]# ./runltp -p -fcpuhotplug
的配置

该脚本不需要进行配置;
执行测试:

[root@CentOStestscripts]# . / -d 2 -n 2

(3) 测试结果:

Startingtests...

Stressing/proc/[0-9]*/cmdline...

Starting'top', redirecting output to''..

LTP

ADP Test

done.

Killing processes...

./

line 82: 18995

已终止

./:

line 82: 18997

已终止

./

./:

line 82: 19000

已终止

./

./:

line 82: 19004

已终止

./

./:

line 82: 19008

已终止

./

./:

line 83: 18990

已终止

./




./:

line 83: 18991

已终止

./

./:

line 83: 18992

已终止

./

./:

line 83: 18993

已终止

./

./:

line 83: 18994

已终止

./

Done .Please

check

.

201104

07

星期四 16:31:20 CST

注:

脚本需要参数运行,“-d”表示top的延期时间,“-n”top的迭代次数。出的信息在中。

和的配置

1 要求系统的软驱中含有软盘。

2 要求系统的空闲的磁盘分区的大小应该大于等于100MB

3 执行测试的命令:././

的配置

1 开启NFS服务和portmap服务:

[root@server25~]# service nfs start

[root@server25~]# serviceportmap start

2 要有大于等于100MB空间空闲磁盘分区,而且该分区要为主分区;

3 执行测试:

[root@server20testscripts]#./ -h server25 -d /dev/sda4 -t ext3

4 测试结果:

mke2fs29-May-2006

/dev/sda4is 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:

notmounted

PASSED:./ passed!

注:

-h后面加主机名;-d后面加磁分区;-t后面加文件系型。

的配置

1 必须有root权限来执行这个脚本;

2 执行测试:

[root@server25testscripts]# . /



3 测试结果:

/tmp/isofs_3895/zabbix:
总计32

-rw-r——r——1

root root 18898 04-11

14: 1 root

1

root

1121 04-11

14:13

-rw-r- -r-- 1 root

root

2689 04-11

14:13

root root

4537 04-11 14:13

-rw-r- -r-- 1 root

root

160 04-11 14:13

-rw-r- _r—

1 root

root

3843 04-11

14:13

PASSED:./ passed!
的配置

1内核必须支持“devicemapper”,而且要在系统中安装devcie-mapper; 2 系统要有两个分区;
3 执行测试:
[root@server25testscripts]#./ -a /dev/sda3 -b /dev/sda5
4测试结果:

DeviceStatus...

0102400 linear
0200000 linear
0200000 linear
0400000 striped 2 8:3 8:5 1 AA
DeviceTables...

0102400 linear 8:3 0
0200000 linear 8:3 0
0200000 linear 8:5 0
0400000 striped 2 16 8:3 0 8:5 0
DeviceMapper Remove-all...

的配置及要求

(1) 要求系统以0x8e的形式划分4个分区;
(2)如果内核是版本必须被配置然后重建内核,在版本的内核上应当先配置DeviceMapper 和安装LVM2



(3)这些操作是破坏性的,所以要求指定的分区中应该不含有重要的文件内容,执行该操后被使用的分区中的内容会被删除;
(4) 执行测试:
[root@server25testscripts]#./ -a /dev/sda4 -b /dev/sda5 - c /dev/sda6 - d
/dev/sda7-n:/tmp
(5) 输出结果:
<<<test_start>>>
taggf822st ime=79
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""
analysisexit
<<<test_output>>>
incrementingstop

gf822

1 TPASS :

Test passed

的配置及要求

(1)对其的配置好要求如前面;
(2)执行的命令:.

/-a /dev/sda4 -b /dev/sda5 - c /dev/sda6 - d /dev/sda7 - n:/tmp 的配置及要求

(1) 要求内核支持scsi_debug模块;
(2) 需要内核开启下面的服务CONFIG_SCSI_DEBUG;
(3) 执行测命令./



的配置及要求

(1)要求必须要有root权限来执行该脚本;

(2)要求内核配置为CONFIG_DUMMYy,而且dummynet work模块必须存在;

(3)执行测试:

[root@CentOS testscripts]#. / -k/lib/modules/ (4)测试结果:

PASSED:./ passed!

注:-k后面加内核模,也可以不加参数,不加的测试的是默

rpctirpc的配置及要求

(1) 介绍
RPC(Remote ProcedureCall Protocol) 远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCPUDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使包括网络分布式多程序在内的应用程序开发更加容易。

(2) 配置说明
LTP源文件目录中有关于RPC的测试套件,此套件分为两类:一类是基本的测试套件,主要测试对象是单客户端-服务器模式;另一类包括所有的测试库,如SunRPCTI-RPC。下面就详细介绍一下TI-PRC测试套件的配置和用法:
在使用测试套件之前,需要准备一台以上的主机,并且所有的主机必须运行ssh服务。在运行ssh服务是要在各主机上配置无密码登陆方式。具体如下(以一台主机为例)
4生成ssh密钥
将公钥传到服务器端:

经过上述步骤就完成了对ssh无密码登录的配置。

(3)快速安装套件

在终端运行一下命令,安装和配置测试套件:

或者

配置测试套件运行方式(IP,登录)

$makedeploy $make all

这时就完成了配置,就可以使用此测试套件了。

(4)运行测试套件
a.运行所有的测试内容



./-all

b.运行部分测试内容

./

在运行此部分时,会提示你选择要测试的内容,如RPCTI-RPC或者两者都要测试等。

5runtest目录级别运行

$./runtlp- f rpc

或者

$./runltp- f t irpc

或者

$./runltp- f rpctirpc
的配置及要求

(1)要求把/usr/sbin添加到PATH中;
(2)/etc/seliinux/中添加expand-check=O;
(3)查看内核是否开启以下的功能(如果没有则需要开启)CONFIG_SECURITYy
CONFIG_SECURITY_NETWORKy
CONFIG_SECURITY_NETWORK_XFRMy

CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=O
Thishas 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_BOOTPARAMy
C0NFIG_SECURITY_SELINUX_B00TPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
C0NFIG_SECURITY_SELINUX_CHECKREQPR0T_VALUE=1
CONFIG_SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT=y

CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAXy
Youdon't want this one unless you arerunning Fedora 3 or 4. On anythingnewer, it will causeunnecessary policy expansion.



CONFIG_SECURITY_SMACKy



CONFIG_SECURITY_SELINUXy
(4) 执行测试:
[root@CentOSItp]# ./runltp -p -fselinux
smack的配置和要求

(1)要求smackselinux不能够同时运行,不能测试同一个运行中的内核; (2)查看内核是否开启以下的功能(如果没有则需要开启)
CONFIG_NETLABELy
CONFIG_SECURITY=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_SMACK=y
CONFIG_SECURITY_SELINUXshould not beset

执行如下的命令:
mkdir-p /smack
在文件/etc/fstab添加下面的一行
smackfs/smack smackfs defauIts 0 0
然后执行下面的命令:
mount- a
(3) 执行的命令
[root@CentOSItp]# ./runltp -f smack
perfcounters的配置及要求

(1)执行测试:
[root@CentOSItp]# ./runltp -p -fperfcounters
(2)测试结果:

<<<test_start>>>
tag=performance_counter01stime=43
<<<test_start>>>
tag=performance_counter02stime=43

INFO:ltp-pan reported all tests PASS



can的配置及要求

CAN(Controller AreaNetwork)是一个缓慢(高达1Mbit/s)的串行通信协议,主要为汽车,但现在广泛应用于海洋(NMEA2000),工业和医疗。

注:的运行需在或者以上版本中,并且在运行之前需要在文件的源目(例如:/opt/ltp-/testcases/networ/can/filter-tests)行配置。

配置如下:
1) 创建测试环境
$make
2) ./
3) 在安装目录中运行
$./runltp -f can
4) 清除使用痕迹,在源目录中运行
$make clean
的配置

(1)要求要有一个镜像文件,创建两个目录;
(2)把该镜像文件挂载到指定的目录:
[root@centos22 chenbo]#mount -t -o loop /chenbo
(3)把有一个目录绑定到另一个目录:
[root@centos22chenbo]# mount --bind chenbochenbo1
(4)执行下面的命令:
[root@centos22/]# mount chenbo -o
remount,ro (5)执行测试(要在只读目录中执行脚本)
[root@centos22chenbo]#../opt/ltp/testscripts/
/tmp/fs3522/dir1/tmp/fs3522
TDIRis /tmp/fs3522/dir1
(6)执行结果:
执行的结果存放在/tmp下面,有若干个名字如fs加数字目录,目录中的和分别存放了成功

6和错误的信息。 LTP测试套件使用说明

概述

LTP提供了两个非常强大的脚本:和。用于验证内核。这个脚本串行地运行一组测试,并报告全部结

果。因此,也可称这个脚本为初始测试或串行压力测试。默认地,这个脚本执行:

- 文件系统压力测试。



- 硬盘I/O测试。

- 内存管理压力测试。

- IPC压力测试。

- SCHED测试。

- 命令功能的验证测试。

- 系统调用功能的验证测试。

但还提供了其他方面的测试:如网络,网络压力,NFS,光驱压力等等(详细使用见下)。

Itp提供的测试内容不完全写入,测试时可以根据需求修改并添加内容,相关配置可以参考《LTP测试套件配置详细》。需要注意的是:默认情况,和runltp执行的内容是一样,因为默认的脚本只开启了runltp默认的场景。runltp默认执行的就是上面7方面内容。

runltp脚本可以执行指定的测试项目,因此测试可以根据需求或指标设计一套压力测试脚本。是一个并行的压力测试脚本,在使用网络与内存管理的同时并行地运行大范围的内核组件,并在测试系统上生成高压力负荷。也是LTP测试套件的一部分。这个脚本并行地运行相似的测试用例,串行地运行不同的测试用例,这样做是为了避免由于同时访问同一资源或者互相干扰而引起的间歇性故障。因此这个测试脚本可以称为系统压力测试。默认地,这个脚本执行:
- NFS压力测试。

内存管理压力测试。-
- 文件系统压力测试。

- 数学(浮点)测试。

- 多线程压力测试。

硬盘I/O测试。-
IPCpipeiosemaphore测试。

- 系统调用功能的验证测试。

- 网络压力测试。

ltpstress压力测试可以验证产品在系统资源高使用率时的健壮性。

初始测试

runltp使用说明

用法:./runltp[option] [command]

-a EMAIL T0

发送所有的报告到指定的邮箱

-c NUM PR0CS

添加后台测试CPU的进程数,默认1

-C FAILCMDFILE

失败案例存储文件

-d IMPDIR

临时存储目录,默认/t mp




-Drun LTP under additional background Loa<

NUM_PROCS,NUM_FILES,NUM_BYTES,CLEAN_FLA

onSecondary Storage (Seperate by comma

[NUM_PROCSno.of

creatingStorage Load by spinning over

write()]

[NUM_FILESWri te() to

manyfiles (Defaults to1 when value 0

undefined)]

[NUM_BYTESwri te thesemany

bytes(defaults to 1GB, when value 0 or

undefined)]

[CLEAN_FLAG unlinkfile to

whichrandom data writtenwhenvalue 1]

-e 输出目前LTP版本的日期

-f CMDFILES 执行用户自定义的测试案例,用“,”隔开

CMDFILESruntest内的驱动程序)

-g HTMLFILE 添加html格式的输出文件HTMLFILE

-h 帮助信息

-i NUM PROCS 添加后台测试IO bus总线的进程数

-l LOGFILE 记录测试日志的文件

-m run LTP under additional background Loai

NUM_PROCS,CHUNKS,BYTES,HANGUP_FLAG

onMain memory (Seperate by comma)

[NUM_PROCSno.of

creatingmain Memory Load by spinning over

malloc()]

[CHUNKS mallocthese

manychunks (default is 1 when value 0

undefined)]

[BYTESmalloc

CHUNKSof BYTES bytes (default is 256MB when

value0 or undefined)]

[HANGUP_FLAGhangin a sleep loop

aftermemory allocatedwhenvalue 1]



_n

添加后台测试网络传输

0 OUTPUTFILE

直接打印测试输出到OUTPUTFILE

P

人为指定日志格式

q

打印少的测试输出到屏幕

r LTPROOT


s PATTERN

匹配PATTERN执行测试案例

t DURATION

给定测试执行时间设置(s, m, h, d)

T REPETITION

重复执行测试案例

_v

打印多的测试输出到屏幕

w CMDFILEADDR

使用wget下载用户测试案例集合。

x INSTALL

并行执行多个测试场景

15runl tp参数表

脚本说明

此脚本直接运行,默认是测试所有LTP能测试的方面。

因篇幅问题不能全部显示,请点此查看更多更全内容