精华内容
下载资源
问答
  • ltp测试
    千次阅读
    2017-07-29 18:21:28
    1.LTP介绍
        LTP--linut test project ,ltp套件是由 Linux  Test Project所 开发  的一套 系统   测试 套件。它基于系统资源的利用率统计开发了一个测 试的组合,为系统提供足够的压力。
        通过压力测试来判断系统的稳定性和可靠性。
        压力测试是一种破坏性的测试,即系统在非正常的、超负荷的条件下的运行情况 。用来评估在超越最大负载的情况下系统将如何运行,是系统在正常的情况下对某种负载强度的承受能力的考验 。
        使用 LTP 测试套件对  linux   操作系统 进行超长时间的测试,重点在于 Linux 用户环境相关的工作负荷(参阅 参考资料 以深入了解 LTP)。而并不是致力于证明缺陷。 
        重点: 测试选择,评价系统资源利用率,分析 内核  代码覆盖率,评价最终压力测试
        更加具体的参考:
    http://www.linux eden.com/html/front/20060728/24305.html  
                        
    http://www.ibm.com/developerworks/cn/linux/l-rel/index.html  
                               或者网上相关信息
        在这里,主要介绍LTP结构,测试方法,测试组合的选择,工具介绍,环境搭建,需要修改地方,分析测试结果,LTP操作流程

    2.LTP结构  
        从
    http://ltp.sourceforge.net/  
    下载  LTP测试 源码  包
        
    LTP的 目录  结构基本上分为文档目录(doc)、测试 驱动   程序  目录(pan)、测试脚本目录 (testscripts)、测试用例库(testcase)、测试 命令   文件  目录(runtest)、头文件目录 (include)、库目录(lib)等。
    Doc:该目录是说明文件和帮助文档的所在地,这个目录中对LTP的内容和每个工具都有详细的说明。
    Pan:该目录存储的是LTP测试套件的测试驱动程序pan。
    Testscripts:该目录中存储的是可执行的测试脚本,不同方面的测试脚本的集合。
    Testcase:该目录存储了所有LTP测试套件中所使用的测试用例的源码。
    Runtest:该目录中的每个文件都是要执行的测试用例的命令集合,每个文件针对测试的不同方面。
    Include:LTP测试套件的头文件目录,定义了LTP自身的 数据结构 和函数结构。
    Lib:LTP测试套件运行时自身需要的库文件,定义了LTP自身的各种函数。
    各个文件结构之间的联系:
    ---->testscripts中ltpstress.sh
    ---->runtest(stress.part1,stress.part2,stress.part3)
    ---->pan后台运行
    ---->最终运行Testcase中的各个测试案例
           其中runtest中 stree.part1,stree.part2,stree.part3中的测试命令或脚本  如 mmstress;来源于testcase/bin 中mmstress;而testcase/bin 中mmstress 可执行脚本或命令来源于/testcase中如  kernel  ,network,   pounder21, commands 等源代码 编译  生成的,
    mmstress:kernel/mem/mtest05/mmstress.c
    stress.part[n](n=1,2,3)中测试命令如何看?
        这些命令文件包含测试用例的tag和带有参数的测使用里,格式如下:
    #tag       test case
    test1      test1 -l 10
    mtest01    mtest01 -m 20
    fork01     fork01
      pan工作原理:LTP测试套件有一个专门的测试驱动程序pan,具体的测试用例的执行都是由pan来调用执行,它可以跟踪孤儿 进程  和抓取测试的输出信息。它的工作方式是这样的:
    从一个测试命令文件中读取要测试的条目的要执行的命令行,然后等待该项测试的结束,并记录详细的测试输出。默认状态下pan会随机的选择一个命令行来运 行,可以指定在同一时间要执行测试的次数。
    pan会记录测试产生的详细的格式复杂的输出,但它不进行数据的整理和统计,数据整理统计的工作由scanner来完成,scanner是一个测试结果分 析工具,它会理解pan的输出格式,并输出成一个表格的
    形式来总结那些测试passed或failed。
    3.LTP测试方法  
    测试方法有两个的阶段:一个是“初始测试”,一个是“压力测试”。
    初始测试是开始测试的必要条件。初始测试包括 LTP 测试套件在硬件和操作系统上成功运转,这些硬件和操作系统将用于可靠性运转。LTP 测试套件包附带的驱动程序脚本 runalltest.sh 用于验证内核。这个脚本串行地运行一组成包的测试,并报告全部结果。也可以选择同时并行地运行几个实例。默认地,这个脚本执行:
    文件系统  压力测试。
    硬盘  I/O 测试。
    内存  管理压力测试。
    - IPC 压力测试。
    - SCHED测试。
    - 命令功能的验证测试。
    - 系统调用功能的验证测试。 
    压力测试可以验证产品在系统高使用率时的健壮性。作为 runalltest.sh 的补充,特别设计了一个名为 ltpstress.sh 的测试场景,在使用 网络  与内存管理的同时并行地运行大范围的内核组件,并在 测试系统上生成高压力负荷。ltpstress.sh 也是 LTP 测试套件的一部分。这个脚本并行地运行相似的测试用例,串行地运行不同的测试用例,这样做是为了避免由于同时 访问  同一资源或者互相干扰而引起的间歇性故障。默认地, 这个脚本执行:
    NFS  压力测试。
    - 内存管理压力测试。
    - 文件系统压力测试。
    - 数学 (浮点) 测试。
    - 多线程压力测试。
    - 硬盘 I/O 测试。
    - IPC (pipeio, semaphore) 测试。
    - 系统调用功能的验证测试。
    - 网络压力测试。

    4.测试组合的选择  
           所选择的测试的组合必须给系统的资源带来足够的压力。Linux 内核的四个主要方面可以影响系统的 响应和执行时间:
      - CPU:用于在机器的 CPU(s)上处理数据的时间。
      - Memory:用于自真实存储器中读写数据的时间。
      - I/O:用于自磁盘存储器读写数据的时间。
      - Networking:用于自网络读写数据的时间。 
    系统资源利用率评价阶段通常需要多次尝试才能得到合适的测试组合,并得到期望水平的利用率。在这个评价过程中,sar 工具也应该在运行。在评价运行的结论中,您应该收集并评价所有四种资源的利用率水平。
          具体的测试组合修改方法。
    修改方法一:
           runtest中 stress.part1,stress.part2,stress.part3。
    如修改stress.part1中有这样一个测试mem02,根据阅读testcases/kernel/mem/mem/mem02.c 源代码,可将他修改为mem02 -m 15,意思是测试15m内存。
         同样的也可以在 stress.part1,stress.part2,stress.part3 中添加、删除一些测试,
    如我们测试时就把
    stress.part3中关于swap交换 分区  的去掉
    #swapoff01 swapoff01 
    #swapoff02 swapoff02 
    #swapon01 swapon01 
    #swapon02 swapon02 
    #swapon03 swapon03 
    修改方法二:
    前面提到的初始测试或者压力测试都是测试的默认的,如果想测试其他的或者自己的测试案例,需要修改testcase的
    Makefile,因为通过它的Makefile可以看到
    SUBDIRS = `ls */Makefile | sed "s/Makefile//g" | grep -v open | grep -v pounder | grep -v DOTS | grep -v kdump | grep -v realtime`
    sed 's//:/ /g' :想把文本中的冒号替换成空格 
    grep -v:显示所有与指定模式不匹配的行
          
    也就是说open,pounder,DOTS,kdump,realtime没有测试,当然你可以选上或者,添加上自己的测试案例。
    5.工具介绍  
    Gcov,lcove:
    分析代码覆盖率
    sar:
    帮助我们掌握系统资源的使用情况,特别是内存和CPU 的使用情况, 
    是UNIX系统使用者应该掌握的工具之一
    在我们的测试中,sar工具每 10 秒(当然时间间隔可以修改)钟截取一次系统利用率的快照,并保存到结果文件。
    针对sar生成的sar.data使用方法:
    sar -u sar.data  //查看cpu使用情况
    sar -r sar.data  //看看memory,swap使用情况
    ……………………
    Top:
    跟sar差不多的功能,这里我们就用sar 了。
    Rsh:
    用处就不用介绍了,主要介绍建立信任主机
    http://blog.chinaunix .net/u/7121/showart_576215.html  
    这个比较全面
    http://gforge.loogson.com/forum/forum. PHP  ?thread_id=59&forum_id=53 
       
        我们自己211 服务器  上写的也比较全面,但特别注意的细节就是 /root/.rhosts 权限  600这个问题。因为我为它浪费了半天时间。
    Ssh:
    建立信任主机
    http://gforge.loogson.com/forum/forum.php?thread_id=59&forum_id=53  

    #aptitude install openssh-server openssh-client 
    1、a>更改/etc/hosts文件  
    http://download.zdnet.com.cn/software_zone/2007/0831/481970.shtml  

    #vi /etc/hosts 打开hosts文件,更改如下: 
    127.0.0.1 localhost.localdomain localhost 
    192.168.4.211 ub-server 
    192.168.4.40 gengmj-desktop 
    192.168.4.32 zjx-desktop   //ip:被信任主机的IP,zjx-desktop:被信任主机的用户名 
    b>更改 /etc/hosts.equiv文件   // /etc/hosts.equiv里的主机不需要提供密码就可以访问本机. 
    vim  /etc/hosts.equiv 
    # /etc/hosts.equiv: list of hosts and users that are granted "trusted" r 
    # command access to your system . 
    #127.0.0.1 localhost.localdomain localhost 
    ub-server mpich     
    debian  mpich 
    gmj-desktop mpich 
    zjx-desktop mpich    //被信任的zjx-desktop用户,以mpich用户登录本机 
    festival-desktop mpich 
    liu-desktop mpich 
    yym-desktop mpich 
    2、在node01生成SSH秘钥对. 
    $ssh-keygen -t rsa 一路回车即可 
    产生.ssh文件, 
    $ls -a 查看是否有.ssh文件夹/cluster/server/ 
    3、进入.ssh目录 
    $cd .ssh 
    4、生成authorized_keys文件 
    $cp id_rsa.pub authorized_keys 
    5、退出到root目录 
    $cd .. 
    6、建立本身的信任连接 
    $ssh ub-server 按提示输入yes(三个字母要打全) 
    7、 设置  node02(node02的root目录下) 
    $ssh-keygen -t rsa 生成.ssh文件夹 
    $scp 
    [email=mpich@ub-server:/home/mpich/.ssh/]mpich@ub-server:/home/mpich/.ssh/[/email]
    * ~/.ssh/ 拷贝ub-server上的.ssh文件夹覆盖本地的 
    #scp 
    [email=root@ub-server:/etc/hosts]root@ub-server:/etc/hosts[/email]
    /etc/hosts 拷贝node01上的hosts文件覆盖本地的 
    $ssh node01 提示处输入yes回车 
    8、确认机器的信任连接已建立 
    对每个节点执行: 
    $ssh ub-server 
    $ssh gengmj-desktop 
    在提示处输入yes回车,最后确定无需输入密码并且没有任何提示信息即可登陆("Last login:时间日期"提示信息除外)
    6.环境搭建  
    开发板: v1.2 
    CPU:
    内核:Linux 2.6.22.8  交叉编译时需要选上ide,nfs server support
    LTP 版本:20080831  交叉编译

    pc机:
    CPU:Intel(R) Celeron(R) CPU 2.26GHz 
    内核:2.6.24-16-generic
            LTP 版本:20080831
    pc机做服务器使用

    7.需要修改地方  
    修改一:/ltp-full-20080831/testcases/network/nfs 
        下的nfs01 , nfs01 ,nfs03 nfs04 , nfsstress,将修改RHOST=192.168.4.68,让它测试远程的主机 
       nfs04: 中139行nfs04_create_file--绝对路径 
    修改二:/ltp-full-20080831/testcases/network/rpc/basic_tests/rpc01 
            中rpc01 ,    将修改RHOST=192.168.4.68,让它测试远程的主机 
    修改三:/ltp-full-20080831/testcases/kernel/mem/mem/mem02.c --->#define MEMSIZE 15*1024*1024  #15M 
    修改四:fork09: 最多能OPEN 800 个文件,然后才能创建进程  
    ………………等
    8.测试结果分析  
    默认情况下,测试结果放在/tmp
    ltpstress.log---记录相关 日志  信息,主要是测试是否通过(pass or fail) 
    ltpstress.data ----sar工具记录的日子文件,包括cpu,memory,i/o等
    ltpstress.611.output1---对应stress.part1,测试命令的一些输出信息   
    ltpstress.611.output2---对应stress.part2,测试命令的一些输出信息
    ltpstress.611.output3---对应stress.part3,测试命令的一些输出信息
    cpu 平均使用率:sar -u -f ltpstress.data
    memory 平均使用率:sar -r -f ltpstress.data
    fail分析:
         ltpstress.log 将所有FAIL过滤出来,得到完整的所有FAIL的testcase。
    方法如下:用sort把FAIL的项排序,再用uniq排除重复项输出到一个文件就可以了:
           grep FAIL ltpstress。log | sort | uniq >failcase.txt
        至此,得到的failcase.txt为所有FAIL的testcase名字。要注意分析case失败的原因是什么,并下结论:是配置的问题,还是稳定性 的问题(有失败也有成功)。并将结论加注在failcase.txt中,方便查看。
    9.软件 操作流程  
    1.下载源码包
    对开发板
    tar zxzf ltp-full-20050608.tgz
    cd ltp-full-20050608
    make  cross_compile=mipsel-linux-;
    make install cross_compile=mipsel-linux-;
    copy到硬盘文件系统的/ 根目录下
    对pc机
    tar zxzf ltp-full-20050608.tgz
    cd ltp-full-20050608
    make;
    make install;
    注意:ltp-full-20050608 必须跟开发板上路径一样,即在/ 根目录下
    2.测试运行
    初始测试
    ./runltp -p -l /tmp/resultlog.20061222 -d /tmp -o /tmp/ltpscreen.20061222 -t 24h
    压力测试
    ./ltpstress.sh -m 35 -S -t 72h  //-m: 表示genload不停的在分配和释放35m内存, 
                            -S: 使用sar工具记录
                            -t: 测试时间    
    3.结果分析
    默认 情况下
    cd /tmp
    sar -u -f ltpstress.data  //cpu 平均利用率
    sar -r -f ltpstress.data  //内存平均利用率
    grep FAIL ltpstress.log | sort | uniq >failcase.txt   //失败情况分析
        计算出成功率
    压力测试参考结果( DVR)
        测试工具是 LTPstress,测试用例以并行和串行方式执行
        时间24h
        cpu 平均利用率:99.99% (用户:33.21%  系统:66.78%)
        memory 平均利用率:68%
        成功率:96.17%
        没有严重的系统故障

    10.  总结linux内核的可靠性增加,但是这些测试用例的完整性还有待于分析和加强,如果内核开发人员和测试人员能 够勤于提交他们发现的测试缺陷,那么该套件将更能帮助减少在linux中发现的回归缺陷。

    本文转载别人的。。。  


    本文来自ChinaUnix博客,如果查看原文请点:   http://blog.chinaunix.net/u3/90876/showart_2056984.html
    更多相关内容
  • LTP测试工具说明

    千次阅读 2020-03-25 18:05:02
    LTP工具说明   1.... LTP测试套件.........................

    LTP工具说明

     

    1.... LTP测试套件...................................................... 3

    1.1        简介............................................................................................................... 3

    1.2        源目录结构.................................................................................................... 3

    2.... LTP安装............................................................ 4

    2.1        下载............................................................................................................... 4

    2.2        编译............................................................................................................... 4

    2.3        安装说明........................................................................................................ 5

    3.... LTP测试套件结构说明.......................................... 6

    3.1        概述............................................................................................................... 6

    3.2        目录介绍........................................................................................................ 6

    3.3        LTP执行原理................................................................................................. 6

    4.... LTP测试套件测试内容.......................................... 7

    4.1        LTP测试套件测试内容................................................................................... 7

    4.1.1         commands............................................................................................ 7

    4.1.2         kernel.................................................................................................. 7

    4.1.3         kdump................................................................................................. 8

    4.1.4         network................................................................................................ 8

    4.1.5         realtime................................................................................................ 8

    4.1.6         open_posix_testsuite.............................................................................. 8

    4.1.7         misc..................................................................................................... 8

    4.2        测试方法说明................................................................................................. 8

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

    4.2.2         kernel................................................................................................ 10

    4.2.3         network............................................................................................. 15

    4.2.4         open_posix_testsuite............................................................................ 17

    4.2.5         realtime............................................................................................. 18

    5.... LTP测试套件配置详细........................................ 19

    5.1        networktests.sh脚本配置............................................................................... 19

    5.2        networkstress.sh配置..................................................................................... 23

    5.3        open_posix_testsuite测试套件........................................................................ 28

    5.4        realtime配置................................................................................................ 29

    5.5        mm脚本的配置............................................................................................ 30

    5.6        io脚本配置.................................................................................................. 30

    5.7        filecaps的配置............................................................................................. 30

    5.8        tpm_tools的配置.......................................................................................... 31

    5.9        tcore的配置................................................................................................. 31

    5.10      io_floppy的配置.......................................................................................... 31

    5.11      io_cd 的配置............................................................................................... 32

    5.12      cpuhotplug的配置........................................................................................ 32

    5.13      adp.sh的配置............................................................................................... 33

    5.14      autofs1.sh和autofs4.sh的配置....................................................................... 34

    5.15      exportfs.sh的配置......................................................................................... 34

    5.16      isofs.sh的配置.............................................................................................. 34

    5.17      ltpdmmapper.sh的配置.................................................................................. 35

    5.18      ltpfslvm.sh的配置及要求.............................................................................. 36

    5.19      ltpfsnolvn.sh的配置及要求........................................................................... 36

    5.20      ltp-scsi_debug.sh的配置及要求..................................................................... 37

    5.21      sysfs.sh的配置及要求................................................................................... 37

    5.22      rpctirpc的配置及要求................................................................................... 37

    5.23      test_selinux.sh的配置及要求......................................................................... 39

    5.24      smack的配置和要求..................................................................................... 40

    5.25      perfcounters的配置及要求............................................................................ 41

    5.26      can的配置及要求......................................................................................... 41

    5.27      test_robind.sh的配置.................................................................................... 42

    6.... LTP测试套件使用说明........................................ 43

    6.1        概述............................................................................................................ 43

    6.2        初始测试..................................................................................................... 44

    6.2.1         runltp使用说明.................................................................................. 44

    6.2.2         runalltests.sh脚本说明........................................................................ 46

     

     

     

     

     

     

     

     

     

     

     

     

    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

    LTP安装配置指导文档

    README

    LTP介绍

    CREDITS

    记录对LTP有很大贡献的人

    COPYING

    GNU Public License

    ChangeLog

    描述版本变化

    ltpmenu

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

    Makefile

    LTP顶层目录的Makefile,负责编译安装pan、testcases和tools

    runalltests.sh

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

    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版本的配置,官网地址为:http:/ltp.sourceforge.net/。

    2.2     编译

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

    [root@server20 ltp]#./configure

    [root@server20 ltp]# make

    [root@server20 ltp]# make install

     

    IDcheck.sh

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

    runltplite.sh

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

    runltp

    这个脚本能够测试LTP测试套件主要项目。其中包括:

    - 硬盘 I/O 测试。

    - 内存管理压力测试。

    - IPC 压力测试。

    - SCHED测试。

    - 命令功能的验证测试。

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

    ver_linux

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

    runalltests.sh

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

    testscripts

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

    adp_children.sh

    sysfs.sh

    ltp-aiodio.sh

    ltpstress.sh

    runpan.sh

    networkstress.sh

    adp.sh

    adp.sh

    autofs1.sh

    autofs4.sh

    diskio.sh

    exportfs.sh

    fs_ro_tests

    isofs.sh

    load_stress_all_kernel_modules.sh

    ltpdmmapper.sh

    ltpfslvm.sh

    ltpfslvm.sh

    ltp-scsi_debug.sh

    math.sh

    networktests.sh

    runEALtests.sh

    runpan.sh

    syscall.sh

    tet_containers.sh

    test_filecaps.sh

    test_fs_bind.sh

    test_realtime.sh

    test_robind.sh

    test_selinux.sh

    runpan.sh

     

    表2 编译

    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

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

    results

    测试结果默认存储目录

    testcases

    测试项集

    output

    测试日志默认存储目录

    share

    脚本使用说明目录

    runtest

    测试驱动(用于链接testscripts内的测试脚本和testcases测试项目)

    lib

    通用的库函数目录

    表3 目录描述

    3.3     LTP执行原理

    从一个测试命令文件(或脚本)中读取所测条目需要执行的命令行,然后等待该项测试的结束,并记录详细的测试输出。默认状态下pan会随机的选择一个命令行来运行,可以指定在同一时间要执行测试的次数。pan会记录测试产生的详细的格式复杂的输出,但它不进行数据的整理和统计,数据整理统计的工作由scanner来完成,scanner是一个测试结果分析工具,它会理解pan的输出格式,并通过表格的形式总结测试passed或failed的情况。简单地说,LTP测试套件通过执行测试脚本runalltests.sh(或runltp或runltplite.sh)或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

    mv

    eject

    mkdir

    gzip

    ln

    mail

    cp

    su

    size

    at

    objdump

    cron

    nm

    logroate

    ldd

    tar

    ld

    unzip

    file

    ar

     

    表4 commands

    4.1.2   kernel

        这个模块主要对系统的文件系统、进程通信、模块管理、内存、系统调用、系统调度、磁盘读写、安全等进行功能和压力测试。详细内容如表5所示:

    fs

    connectors

    Ipc

    module

    pty

    timers

    containers

    hotplug

    numa

    sched

    tracing

    controlers

    include

    mce-test

    performance_counters

    security

    device-drivers

    io

    mem

    power_management

    syscalls

     

     

     

     

    表5 kernel相关测试内容

    4.1.3   kdump

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

    4.1.4   network

        network功能点非常多,包括dhcp,nfs,rpc,iproute等,具体如表6所示:

    can

    iproute

    rpc

    tcp_cmds

    datafiles

    iptables

    multicast

    sctp

    traceroute

    dhcpd

    lib6

    nfs

    sockets

    xinetd

    nfsv4

    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

    任务规划工具。测试内容为/etc/at.allow和/etc/at.deny功能

    测试脚本在testcases/bin/at.allow和testcases/bin/at.deny中

    3

    cpio

    存取归档包中的文件

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

    4

    cron

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

    5

    eject

    退出抽取式设备

    测试脚本为:

    testcases/bin/

    eject-test.sh

    6

    fileutils

    cp

    复制命令

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

    ln

    符号链接命令

    mkdir

    创建目录

    mv

    移动或重命名

    7

    gzip

    解压缩命令

    8

    logrotate

    管理记录文件

    9

    mail

    收发邮件管理

    10

    su

    变更用户

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

    11

    tar

    对文件目录进行打包备份

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

    12

    tpm-tools

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

     TPM实际上是一个含有密码运算部件和存储部件的小芯片上的系统,由CPU、存储器、

    I/O、密码运算器、随机数产生器和嵌入式操作系统等部件组成。

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

    13

    unzip

    解压缩zip文件

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

    表7 commands实现方法

    4.2.2   kernel

    编号

    测试项

    子测试项

    对应脚本以及说明

    含义

    1

    connectors

     

    ./runltp -f connecors

    网络连接器测试

    2

    fs

    acl

    测试方法:

    testcases/bin/tar_tests.sh

     测试ACL(访问控制列表)和Excent Attribute

    备注:内核支持loop设备;一个大于100M的磁盘分区;内核支持ACL功能

    3

    acls

    测试方法:

    tescases/bin/acl_test01

    测试扩展的acls

    需求:同上

    4

    dmapi

     

    dmapi功能验证测试

    备注:ltp默认没有编译此功能需要到源目录执行,参照dmapi目录下的README

    5

    doio

    testcases/bin/growfile

    doio和读写测试

    6

    ext4-new-features

    ./runltp -f fs_ext4

    ext4文件系统测试

    7

    fs-bench

    testcases/bin/test.sh

    文件系统的压力测试

    8

    fs_bind

    /testscripts/test_fs_bind.sh

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

    9

    fs_di

    ./runltp -f fs

    文件系统的数据完整性

    10

    fs_inod

    ./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/ltpstress.sh或runltp或runalltests

    14

    fsx-linux

    ./runltp -f fs

    fsx文件系统的压力测试

    15

    ftest

    ./runltp -f fs

     

    16

    inode

    ./runltp -f fs

     

    17

    lftest

    ./runltp -f fs

     

    18

    linktest

    ./runltp -f fs

     

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

    19

    mongo

    testcases/bin/test.sh 和testcases/bin/run_mongo和testcases/bin/mongo.pl

    mongo文件测试

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

    20

    openfile

    ./runltp -f fs

     

    21

    proc

    testscripts/adp.sh

     

    在proc文件系统上执行自动数据处理的压力测试

    22

    quote_remount

    ./runltp -f fs

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

    23

    racer

    ./runltp -f fs

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

    24

    scsi

    /testscripts/ltp-scsi_debug.sh

    测试SCSI模块

     

    25

    stream

    ./runltp -f fs

    文件流写入测试

    26

    module

     

    /testscripts/load_

    stress_all_kernel_modules.sh或

    ./runltp  -f modules

    对内核模块进行测试

    27

    ipc

     

    Ipc_stresss

    ./runltp  -f ipc

    进程间通信压力测试

    28

    pipeio

    ./runltp  -f pipes

    ipc的管道压力

    29

    semaphore

    ./runltp  -f ipc

    信号量测试

    30

    pty

     

    ./runltp  -f pty

    终端类型的压力

    31

    timers

     

    ./runltp  -f timers

    posix计时器测试

    32

    containers

     

    ./runltp  -f containers 或testscripts -f test_containers.sh

    命名空间资源

    32

    hotplug

    cpu_hotplug

    /runtest/cpuhotplug

    验证cpu的热插拔功能

    33

    memory_hotplug

    testcases/bin/memtoy

     

    验证内存的热插拔功能

    备注:需要numa支持

    34

    numa

     

    ./runltp  -f numa

    非统一内存访问

    35

    sched

     

    ./runltp  -f sched

    调度压力测试

    36

    tracing

     

    ./runltp  -f /tracing

    跟踪测试

    备注:内核版本需要2.6.34以上

    37

    controllers

     

    ./runltp  -f controllers

     

    资源管理测试

    备注:内核版本2.6.29以上

    38

    performance_counters

     

    ./runltp  -f perfcounters

    测试基本的性能计数

    39

    mce-test

     

     

    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_password.sh &&

    testcases/bin/change_password.sh && testcases/bin/assign_password.sh && testcases/bin/force_erase.sh && testcases/bin remove_password.sh

    用户界面的mmc密码保护支持

    备注:需要安装keyutils包,在测试mmc之前需要配置keyutils

     

    44

     smack

    ./runltp -f smack

    测试smack安全模块

    45

    filecaps

    ./runltp -f filecaps或

    testscripts/test_filecaps.sh

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

    46

    p9auth

    ./runltp -f p9auth

    安全策略测试,如

    openssl,caphash, capuse

    47

    selinux-testsuite

    ./runltp -f selinux

    测试SELINUX安全模块

    48

    tomoyo

    testcases/bin/testall.sh

    tomoyo安全测试

    备注:需要安装tomoyo包,并配置详情见源目录tomoyo目录

     

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

     

     

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

    49

     

    acpi

     

    执行ACPI测试

    50

     

    base

     

     

    51

     

    dev_sim_framework

     

     

    52

     

    nls

     

    支持本国语言测试

    53

     

    tbio

     

     

    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_floppy

    testscripts/diskio.sh

    软驱压力测试

    64

     

    disktest

    testcases/bin/disktest

    硬盘测试

    备注:disktest使用较复杂。具体参照脚本和源目录下disktest说明文件

    65

     

    direct_io

    ./runltp -f

    test_dma_thread_diotest7

     

    66

     

    ltp-aiodio

    /testscripts/ltp-aiodio.sh

     

    67

     

    stress_cd

    testscripts/diskio.sh

    光驱压力测试

    68

     

    writetest

    ./runltp -f fs

    写入测试

    69

    mem(内存测试)

     

    ./runltp -f mm

    内存管理测试

    70

    power_management

     

    ./runltp -fpower_management_tests

    电源管理测试

    71

    syscalls

     

    ./runltp -f runtest/syscalls

    系统调用测试

    表8 kernel相关内容测试方法

    4.2.3   network

    序号

    测试内容

    子测试点

    内容含义

    脚本说明

    1

    can

    Controller area network

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

    2

    dhcpd

    测试dhcpd服务

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

    3

    iproute

    测试ip命令的基本功能

    本地测试/ltp/testcases/network/iproute/ip_test.sh

    4

    lib6

    Ipv6地址库测试

    所属测试脚本networktests.sh,测试时后跟参数-L;也可以在runltp.sh脚本下跟ipv6_lib参数

    6

    nfs

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

    所属测试脚本networktests.sh,测试时后跟参数-N

    需要开启nfs、portmap服务,并配置

    7

    rpc

    rpc基本测试

    rpc和rpc压力测试

    所属测试脚本networktests.sh,测试时后跟参数-R,需要开启portmap服务或rpcbind服务;

    或./runltp -f rpc

     

     

    rpc-tirpc测试套件

    rpc传输测试

    脚本执行:./runltp -f  rpctirpc脚本详细配置见下

    8

    sockets

    套接字测试

    本地测试:/opt/ltp/testcases/bin/ ltpSockets.sh;需要跟参数运行

    9

    tcp_cmds

    tcp命令测试:包括:arp,ftp,echo,host,finger,insclude,netstat,scp,rdist,rlogin,rsh,rwho,sendfile,ssh,tcpdump,telnet。

    所属测试脚本networktests.sh,测试时后跟参数-T;也可以在runltp.sh脚本下跟 tcp_cmds参数进行测试

    需要在测试时开启echo-stream服务、dhcpd服务等

    arp测试需要远程主机和本地主机在同一个子网中。

    finger命令测试需要开启fingerd守护进程,可以使用setup选择系统服务

    rwho命令的测试需要在两台机子上安装并开启rwhod守护进程

    tcpdump命令测试时也需要两台主机在同一个子网中。

    10

    xinetd

    xinetd服务

    本地测试,/opt/ltp/testcases/bin/xinetd_tests.sh或networktests.sh

    11

    iptable

    iptables(防火墙管理)

    运行方式:/runltp –f tcp_cmds或networktest.sh

    12

    multicast

    多路广播测试

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

    13

    nfsv4

    nfs v4 测试

    所属脚本networktests.sh,也可单独执行:./runltp -f nfs

    14

    sctp

    流传输控制协议测试

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

    15

    stress

    broken_ip

    发送大量IP包

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

    ./runltp -f network_stress.dns

    ./runltp -f network_stress.ftp

    ./runltp -f network_stress.http

    ./runltp -f network_stress.icmp

    ./runltp -f network_stress.interface

    ./runltp -f network_stress.multicast

    ./runltp -f network_stress.tcp

    ./runltp -f network_stress.udp

    ./runltp -f network_stress.route

    ./runltp -f network_stress.broken_ip

    ./runltp -f network_stress.appl

    dns

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

    ftp

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

    http

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

    icmp

    ICMP压力测试

    interface

    接口压力测试

    multicast

    多路广播压力测试

    route

    路由压力测试

    ssh

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

    tcp

    tcp压力测试

    udp

    udp压力测试

    16

    traceroute

    路由跟踪测试

    本地测试:

    /opt/ltp/testcases/bin/traceroute_testss.sh

    表9 network 测试方法

    4.2.4   open_posix_testsuite

    序号

    测试内容

    子测试点

    内容含义

    备注

    1

    AIO

    执行异步I/O测试

    执行run_posix_option_group_test.sh加参数AIO运行

    2

    SIG

    执行信号测试

    执行run_posix_option_group_test.sh加参数SIG运行

    3

    SEM

    执行信号测试

    执行run_posix_option_group_test.sh加参数SEM运行

    4

    THR

    执行线程测试

    执行run_posix_option_group_test.sh加参数THR运行

    6

    TMR

    执行定时器和时钟测试

    执行run_posix_option_group_test.sh加参数TMR运行

    7

    MSG

    执行消息队列测试

    执行run_posix_option_group_test.sh加参数MSG运行

     

    8

    TPS

    执行线程和进程同步测试

    执行run_posix_option_group_test.sh加参数TPS运行

    9

    MEM

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

    执行run_posix_option_group_test.sh加参数MEM运行

     

    表10 posix测试

    4.2.5   realtime

    序号

    测试内容

    子测试点

    内容含义

    备注

    1

    func

    async_handler

    异步处理程序

    脚本为testscripts/test_realtime.sh

    gtod_latency

    gtod延迟

     

    hrtimer-prio

    高精度时间处理 优先级

     

    matrix_mult

    矩阵乘运算

     

     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

     

    所有的压力检测

     

    表11 realtime测试

    5      LTP测试套件配置详细

    5.1      networktests.sh脚本配置

    (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/vsftpd.ftpusers或/etc/vsftpd/vsftpd.ftpusers注释掉root用户,需要安装FTP软件vsftp或其他;

    F.       NFSsetup

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

    /192.168.12.*(rw,sync,no_root_squash)

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

    G.      服务端dhcp

     编辑/etc/dhcpd.conf,添加以下内容,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              "domain.org";

           option domain-name             "domain.org";

           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 marvin.asianux.com;

    #               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)     在客户端上编辑networktests.sh脚本,RHOST为服务端的主机名,PASSWD为服务端root用户密码。如下:

      RHOST=192.168.12.25

    PASSWD=123456

    同时添加${TMPDIR}//network.tests –s0 –l<logfile> -o <outfile> -p –q

    其中

    -s0 -> 无限制循环运行。

    -l -> ltpnetwork  日志名。

    -o -> ltpnetwork 输出文件名。

    (3)     执行脚本./networktests.sh

    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       networkstress.sh配置

    A.      前提条件

    网络压力测试前提同网络测试,并且需要两台拥有两个以上网络接口的主机,这个测试的拓扑结构如图1:

    图1

    网络压力测试配置同网络功能测试配置,另外在测试网络压力时还需要开启httpd和ftp服务,sshd和dns服务不需要手动开启,测试时会自动将该服务开启。

    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环境设置

    注意:如果测试的是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.       脚本执行

    ./networkstress.sh[选项]

    选项说明:

    -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

    显示帮助

    表14networkstress.sh参数表

    D.       备注

    在配置networkstress.sh脚本时需要双网卡,通过配置eth0,eth1用于rsh或ssh链接,eth1则用于网络测试接口。因此在设置networkstress.sh时,作如下配置:

    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目录下会生成run-posix-option-group-test.sh、run-all-posix-option-group-tests.sh两个脚本,执行脚本run-all-posix-option-group-tests.sh可执行所有测试,但该脚本存在问题。如下修改:

    !/bin/sh

    #

    # A simple wrapper for executing all ofthe tests.

    #

    # See COPYING for licensing details.

    #

    # Garrett Cooper, July 2010

    #

    FAILED=0

    RPOG_SCRIPT="./run-posix-option-group-test.sh"

    for option_group in AIO MEM MSG SEM SIGTHR TMR TPS; do

                 if !  $RPOG_SCRIPT $option_group

                   then FAILED=1

                 fi

    done

    exit $FAILED

    解释说明:

    在执行脚本时调用执行run-posix-option-group-test.sh脚本,在执行遇到错误时,将以错误退出。

    脚本run-posix-option-group-test.sh可分别对posix内容进行测试,其执行方法为:

    用法:run-posix-option-group-test.sh  [选项]:

    AIO,执行异步I/O测试:./run-posix-option-group-test.sh AIO

    SIG,执行信号测试:./run-posix-option-group-test.sh SIG

    SEM,执行信号量测试:./run-posix-option-group-test.sh SEM

    THR,执行线程测试:./run-posix-option-group-test.sh THR

    TMR,执行定时器和时钟测试:./run-posix-option-group-test.sh TMR

    MSG,执行消息队列测试:./run-posix-option-group-test.sh MSG

    TPS,执行线程和进程同步测试:./run-posix-option-group-test.sh TPS

    MEM,执行映射,处理和共享内存测试:./run-posix-option-group-test.sh MEM

    5.4      realtime配置

    进入ltp源目录,在testscripts目录中执行test_realtime。执行方法如下:

    用法:test_realtime.sh  -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)       执行该脚本要求系统必须已经安装了mm-1.4.2.tar.gz,并且把它安装在/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)       执行结果:

    <<<test_start>>>

    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="filecapstest.sh"

    contacts=""

    analysis=exit

    <<<test_output>>>

    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/runtests.sh的第14行做如下的修改:

     14  for case in$LHCS_PATH/functional/hotplug??.sh; do

      备注:红色字体表示行号。

    (2)       执行测试:

    [root@CentOS ltp]# ./runltp -p -fcpuhotplug

    5.13 adp.sh的配置

    (1)      该脚本不需要进行配置;

    (2)      执行测试:

     [root@CentOS testscripts]# ./adp.sh -d 2 -n 2

    (3)      测试结果:

    Starting tests...

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

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

    LTP ADP Test done. Killing processes...

    ./adp.sh: line 82: 18995 已终止               ./adp_test.sh

    ./adp.sh: line 82: 18997 已终止               ./adp_test.sh

    ./adp.sh: line 82: 19000 已终止               ./adp_test.sh

    ./adp.sh: line 82: 19004 已终止               ./adp_test.sh

    ./adp.sh: line 82: 19008 已终止               ./adp_test.sh

    ./adp.sh: line 83: 18990 已终止               ./adp_children.sh

    ./adp.sh: line 83: 18991 已终止               ./adp_children.sh

    ./adp.sh: line 83: 18992 已终止               ./adp_children.sh

    ./adp.sh: line 83: 18993 已终止               ./adp_children.sh

    ./adp.sh: line 83: 18994 已终止               ./adp_children.sh

    Done. Please check adp.log.

    2011年 04月 07日 星期四 16:31:20 CST

    备注:

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

    5.14 autofs1.sh和autofs4.sh的配置

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

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

    (3)执行测试的命令:./autofs1.sh和./autofs4.sh。

    5.15 exportfs.sh的配置

    (1)开启NFS服务和portmap服务:

    [root@server25 ~]# service nfs start

    [root@server25 ~]# serviceportmap start

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

    (3)执行测试:

    [root@server20 testscripts]#./exportfs.sh -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: ./exportfs.sh passed!

    备注:

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

    5.16 isofs.sh的配置

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

    (2)执行测试:

    [root@server25 testscripts]# ./isofs.sh

    (3)测试结果:

    ……………….

    /tmp/isofs_3895/zabbix:

    总计32

    -rw-r--r-- 1 root root 18898 04-11 14:13db.inc.php

    -rw-r--r-- 1 root root  1121 04-11 14:13 zabbix_agent.conf

    -rw-r--r-- 1 root root  2689 04-11 14:13 zabbix_agentd.conf

    -rw-r--r-- 1 root root   160 04-11 14:13 zabbix.conf.php

    -rw-r--r-- 1 root root  4537 04-11 14:13 zabbix_proxy.conf

    -rw-r--r-- 1 root root  3843 04-11 14:13 zabbix_server.conf

    PASSED: ./isofs.sh passed!

    5.17 ltpdmmapper.sh的配置

       (1)内核必须支持“device mapper”,而且要在系统中安装devcie-mapper包;

       (2)系统要有两个分区;

       (3)执行测试:

    [root@server25 testscripts]#./ltpdmmapper.sh -a /dev/sda3 -b /dev/sda5

       (4)测试结果:

    ……………

    Device Status...

    0 102400 linear

    0 200000 linear

    0 200000 linear

    0 400000 striped 2 8:3 8:5 1 AA

    Device Tables...

    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 Mapper Remove-all...

    ………..

    5.18 ltpfslvm.sh的配置及要求

       (1)要求系统以0x8e的形式划分4个分区;

       (2)如果内核是2.4版本必须被配置然后重建内核,在2.5版本的内核上应当先配置Device Mapper和安装LVM2;

       (3)这些操作是破坏性的,所以要求指定的分区中应该不含有重要的文件内容,执行该操后被使用的分区中的内容会被删除;

      (4)执行测试:

    [root@server25 testscripts]#./ltpfslvm.sh -a /dev/sda4 -b /dev/sda5 –c /dev/sda6 –d /dev/sda7 –n192.168.14.22:/tmp

      (5)输出结果:

    <<<test_start>>>

    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

    <<<test_output>>>

    incrementing stop

    gf822       1 TPASS  :  Test passed

    5.19 ltpfsnolvn.sh的配置及要求

       (1)对其的配置好要求如前面6.15;

       (2)执行的命令:.

    /ltpfsnolvm.sh -a /dev/sda4 -b /dev/sda5–c /dev/sda6 –d /dev/sda7 –n 192.168.14.22:/tmp

    5.20 ltp-scsi_debug.sh的配置及要求

    (1) 要求内核支持scsi_debug模块;

    (2) 需要内核开启下面的服务CONFIG_SCSI_DEBUG;

    (3) 执行测命令./ltp-scsi_debug.sh。

    5.21 sysfs.sh的配置及要求

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

       (2)要求内核配置为CONFIG_DUMMY=y,而且dummy network模块必须存在;

       (3)执行测试:

    [root@CentOS  testscripts]# ./sysfs.sh -k/lib/modules/2.6.18-194.el5/kernel/drivers/net/dummy.ko

    (4)测试结果:

    PASSED: ./sysfs.sh 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) 快速安装套件

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

    $./configure.auto

    或者

    $./configure.interactive

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

    $make deploy

    $make all

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

    (4) 运行测试套件

    a.运行所有的测试内容

    ./rpc_ts_wizard.sh -all

    b.运行部分测试内容

    ./rpc_ts_wizard.sh

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

    5)在runtest目录级别运行

    $./runtlp –f rpc

    或者

    $./runltp –f tirpc

    或者

    $./runltp –f rpctirpc

    5.23 test_selinux.sh的配置及要求

    (1)要求把/usr/sbin添加到PATH中;

    (2)在/etc/seliinux/semanage.cong中添加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)测试结果:

    ……………..

    <<<test_start>>>

    tag=performance_counter01stime=1302139743

    <<<test_start>>>

    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_tests.sh

    3)     在安装目录中运行

    $ ./runltp -f can

    4)     清除使用痕迹,在源目录中运行

    $ make clean

    5.27 test_robind.sh的配置

    (1)要求要有一个镜像文件,创建两个目录;

    (2)把该镜像文件挂载到指定的目录:

    [root@centos22  chenbo]# mount -t iso9660ubuntu-10.10-desktop-i386.iso -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_robind.sh

    /tmp/fs3522/dir1 /tmp/fs3522

    TDIR is /tmp/fs3522/dir1

    (6)执行结果:

    执行的结果存放在/tmp下面,有若干个名字如fs加数字目录,目录中的pass.log和errs.log分别存放了成功的和错误的信息。

    6      LTP测试套件使用说明

    6.1     概述

    LTP提供了两个非常强大的脚本:runalltests.sh和ltpstress.sh。runalltest.sh 用于验证内核。这个脚本串行地运行一组测试,并报告全部结果。因此,也可称这个脚本为初始测试或串行压力测试。默认地,这个脚本执行:

    -     文件系统压力测试。

    -     硬盘 I/O 测试。

    -     内存管理压力测试。

    -     IPC 压力测试。

    -     SCHED测试。

    -     命令功能的验证测试。

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

         但runalltests.sh还提供了其他方面的测试:如网络,网络压力,NFS,光驱压力等等(runalltests.sh详细使用见下)。ltp提供的测试内容不完全写入runalltests.sh,测试时可以根据需求修改runalltests.sh并添加内容,相关配置可以参考《LTP测试套件配置详细》。需要注意的是:默认情况,runalltests.sh和runltp执行的内容是一样,因为默认的runalltest.sh脚本只开启了runltp默认的场景。runltp默认执行的就是上面7方面内容。

       runltp脚本可以执行指定的测试项目,因此测试可以根据需求或指标设计一套压力测试脚本。

    ltpstress.sh是一个并行的压力测试脚本,在使用网络与内存管理的同时并行地运行大范围的内核组件,并在测试系统上生成高压力负荷。ltpstress.sh 也是 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

    临时存储目录,默认/tmp

    -D NUM_PROCS,NUM_FILES,NUM_BYTES,CLEAN_FLA

    run LTP under additional 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

    输出目前LTP版本的日期

    -f CMDFILES

    执行用户自定义的测试案例,用“ ,”隔开(CMDFILES指runtest内的驱动程序)

    -g HTMLFILE

    添加html格式的输出文件HTMLFILE

    -h

    帮助信息

    -i NUM_PROCS

    添加后台测试IO bus总线的进程数

    -l LOGFILE

    记录测试日志的文件

    -m NUM_PROCS,CHUNKS,BYTES,HANGUP_FLAG 

    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

    人为指定日志格式

    -q

    打印少的测试输出到屏幕

    -r  LTPROOT

     

    -s  PATTERN

    匹配PATTERN执行测试案例

    -t  DURATION

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

    -T REPETITION

    重复执行测试案例

    -v

    打印多的测试输出到屏幕

    -w CMDFILEADDR

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

    -x INSTALL

    并行执行多个测试场景

    表15 runltp参数表

    6.2.2   runalltests.sh脚本说明

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


      展开全文
    • 本文主要讲解LTP工具进行压力测试的详细步骤使用,可进行桌面整机和服务器的测试,步骤都是一样的,希望对各位有所帮助。

      一、简介

      LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和可靠性。

      二、下载

      可进行网站下载,也可网盘下载,本人下载测试工具,如有帮助请赞助力一个。

      链接:https://pan.baidu.com/s/1i58Jl__11VQWkT_KI8fLng 
      提取码:gvdk

      三、安装工具

      1. 解压ltp-full-20160510文件(注意不要有中文名目录) 
      2. 进入./ ltp-full-20160510目录,编译安装
      3. 将ltp2016 编译patch(ltp_include.rar文件)解压后合并到/目录(/usr/inlcude等相关文件替换覆盖)-----针对UOS 版本
      ./configure (该步骤可能不成功,先执行make autotools)
      
      sudo make
      
      sudo make install

      四、执行测试

      vi /etc/fstab ,  注释掉swap的那一行(一般是最后一行)

      1)  swapoff -a
      
      2)  echo 1 > /proc/sys/kernel/panic_on_oops
      
      3)  echo 7 > /proc/sys/kernel/printk

      #上述是为了关闭swap分区防止测试卡顿如果UOS已集成则不需要该步骤

      1、进入cd /opt/ltp/ 

      /runltp -t 1h >/home/user/Desktop/XXX    
      #运行一小时,保存到桌面,xxx文件

      #指定目录/XXX.txt保存为txt日志(-t 后面添加到的为测试时间)

      2、cd /opt/ltp/testscripts/,

      3、运行压力测试命令

      ./ltpstress.sh –n –t x –l /home/ltpstress.log  # x为测试时间,单位小时 

      测试查看

                     测试完成,系统没死机则认为pass。

      打开资源监控查看CPU 

      展开全文
    • linux下LTP测试环境使用说明
    • LTP测试工具解析

      千次阅读 2020-04-29 12:48:39
      LTP是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和可靠性。压力测试是一种破坏性的测试,即系统在非...

      1、 工具介绍

      LTP是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和可靠性。压力测试是一种破坏性的测试,即系统在非正常的、超负荷的条件下的运行情况 。用来评估在超越最大负载的情况下系统将如何运行,是系统在正常的情况下对某种负载强度的承受能力的考验。

      2、 参数介绍

      -a email_to  通过电子邮件将所有报告发送到此电子邮件地址
      -c NUM_PROCS 在额外的后台CPU负载下运行LTP
      -C FAILCMDFILE  包含所有失败测试用例的命令文件
      -d TMPDIR 指定创造临时文件所在的文件夹
      -D    在辅助存储的附加后台负载下运行LTP(用逗号分隔)
      -h Help   帮助,打印所有可获得的选项
      -g HTMLFILE 创建一个额外的HTML输出文档
      -N  运行所有的网络测试
      -n   在后台运行所有的网络LTP
      -p   可读格式日志文件
      -l    在日志文件中记录测试结果。
      -o  output file将测试输出重定向到文件。
      -s PATTERN  只运行与模式匹配的测试用例
      -t DURATION 在给定的持续时间内执行测试套件。示例:
      -t 60s =60 seconds
      -t 45m=45 minutes
      -t 24h = 24 hours
      -t 2d =2 days
      -v  将更详细的输出打印到屏幕。
      -x  INSTANCES 实例运行此测试套件的多个实例
      

      3、测试执行

      联网环境
      LTP工具下载地址:https://github.com/linux-test-project/ltp
      编译和安装所有测试:make make install
      运行所有测试:Cd /opt/ltp ./runltp
      具体用法查看下载地址中的文档
      [https://blog.csdn.net/cui841923894/article/details/81463048]

      4 指令运行

      /opt/ltp/runltp -p -l /tmp/resultlog.20051221 -d /tmp -o /tmp/ltpscreen.20051221 -t 24h
      

      运行后,用tail -f /tmp/ltpscreen.20051221监控运行状态。如果运行持续的话,不要关机,等待24小时候的结果(按需要修改目标时间)。

      testscripts/ltpstress.sh -d sar -l log -t 72 -i 60
      

      意思是连续运行ltpstress 72小时,用sar每60秒记录一次系统活动,sar的记录文件为/tmp/ltpstress.xxx.sar,ltpstess测试log文件 /tmp/ltpstress.xxx.log(使用ltpstress.sh必须打开本机的rsh服务,并且允许root登陆本机)

      5 结果分析

      1、 分析 /tmp/ resultlog.20051221 日志
      在这里插入图片描述
      2、 分析/tmp/ltpscreen.20051221日志
      在这里插入图片描述
      3、分析/tmp/ resultlog.20051221 :将所有FAIL过滤出来,得到完整的所有FAIL的testcase。
      方法如下:用sort把FAIL的项排序,再用uniq排除重复项输出到一个文件就可以了:
      grep FAIL /tmp/ resultlog.20051221 | sort | uniq >failcase.txt
      在这里插入图片描述
       至此,得到的failcase.txt为所有FAIL的testcase名字。要注意分析case失败的原因是什么,并下结论:是配置的问题 (72h测试中该case全部失败,没有一次成功记录),还是稳定性的问题(有失败也有成功)。并将结论加注在failcase.txt中,方便查看。
       压力测试部分可参考:
       https://blog.csdn.net/a1317480843/article/details/80006028?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1

      展开全文
    • 主要就是一个shell脚本 ...# 测试标题:整机拷贝48小时 ltp测试 标识:111 # 测试目的:测试整机工作的健壮性 # (对整机进行48小时拷机) # # 预期结果:完成测试没挂掉就行,在resultlog.xx文件显示相关数据 #...
    • LTP是由 Linux Test Project 所开发的一套系统测试套件,ltpstress.sh为进行ltp测试时常用的执行脚本文件,本文对ltpstree.sh的关键内容进行分析,添加注释,以便理解。
    • linux下LTP测试环境使用说明.doc
    • 浅析ltp测试流程

      千次阅读 2016-04-02 18:53:34
      LTP测试套件是测试Linux内核和内核相关特性的工具的集合。该工具的目的是通过把测试自动化引入到Linux内核测试,提高Linux的内核质量。LTP提供了验证linux系统稳定性的标准,设计标准的压力场景,通过对linux系
    • LTP--Linux Test Project简介:LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和可靠性。压力...
    • linux压力测试LTP

      2021-08-11 11:31:05
      linux压力测试LTP
    • Linux LTP测试方法

      2019-08-09 19:07:33
      1.iperf的使用方法 #server iperf -s #client iperf -c 192.168.1.104 -m -M 1500 -f M -d -t 60 -w 8K #ip is server‘s ip 参考地址为:...2.内存延迟测试 #使用lm...
    • Linux LTP 测试框架

      2015-04-15 10:35:03
      https://lwn.net/Articles/625969/http://ltp.sourceforge.net/http://www.linuxjournal.com/article/7445?page=0,0installgit clonehttps://github.com/linux-test-project/ltp.gitmake autotools./con...
    • 测试用例地址: https://github.com/linux-test-project/ltp/commit/b54a54e5881a0f9438ce4a862dee724130a9874f#diff-61ca0ddb356007047210a92fb128896c(1)失败打印: POSIX:conformance/interfaces/pthread_...
    • 测试用例地址: https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_barrier_destroy/1-1.c (1)失败打印: conformance/interfaces/...
    • LTP 测试分析

      千次阅读 2012-02-14 14:56:54
      LTP 测试分析 date:2008.10.29 author:yinkaizhong(kaizhongyin@hotmail.com) 1.LTP介绍  LTP--linut test project ,ltp套件是由Linux Test Project所开发的一套系统测试套件。它基于系统资源的利用率统计...
    • ltp工具测试

      2022-05-28 10:10:40
      近期在做关于nlp的一些任务,LTP提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分句、分词、词性标注、句法分析和语义标注等工作。
    • LTP测试流程及分析

      千次阅读 2010-04-29 19:51:00
      LTP 测试分析date:2008.10.29author:yinkaizhong(kaizhongyin@hotmail.com)1.LTP介绍 LTP--linut test project ,ltp套件是由Linux Test Project所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个...
    • 为了满足改进Linux内核的稳定性、可靠性和可用性的目标,该工程致力于开发一套能够运行干多个平台上的测试套件(简称为“LTP测试套件),目前已在包括i386、ia64、Power PC、Power PC64、S/390、S/390x(64b...
    • LTP测试套件是测试Linux内核和内核相关特性的工具的集合。该工具的目的是通过把测试自动化引入到Linux内核测试,提高Linux的内核质量。LTP提供了验证linux系统稳定性的标准,设计标准的压力场景,通过对linux系统...
    • LTP--linux稳定性测试 linux性能测试 ltp压力测试
    • 因为项目需要,接触到了两款压力测试工具,对其进行总结和学习。 1) LTP 简介: LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为... 使用LTP测试...
    • 首先什么是软锁(soft lockup), A ‘softlockup’is defined asa bug that causes the kernel to loop in kernel mode for more than 20 seconds(see “Implementation” below for details), without giving ...
    • LTP性能测试工具的使用详解

      万次阅读 多人点赞 2018-04-20 10:06:05
      LTP稳定性测试LTP的安装步骤 )1.简介:LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和...
    •  pan工作原理:LTP测试套件有一个专门的测试驱动程序pan,具体的测试用例的执行都是由pan来调用执行,它可以跟踪孤儿进程和抓取测试的输出信息。它的工作方式是这样的:  从一个测试命令文件中读取要测试的条目的...
    • [ltp][eas]测试用例解析

      2020-12-04 16:47:26
      pass : fail 即当task在小核累加运行时间占总运行时间的90%以上时,case测试通过 sh-4.4# ./eas_one_small_task /home/apuser/sprdebian_trunk/platform/test/ltp/lib/tst_test.c:1217: INFO: Timeout per run is 0...
    • LTP使用和分析

      千次阅读 2021-02-08 11:15:11
      1.下载LTP LTP 项目目前位于 GitHub,项目地址:https://github.com/linux-test-project/ltp 。 获取最新版可以执行以下命令: git clone https://github.com/linux-test-project/ltp.git 2.安装相关软件包 sudo ...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 2,935
    精华内容 1,174
    关键字:

    ltp测试