LTP_ltp - CSDN
精华内容
参与话题
  • 无监督信息抽取较多都是使用哈工大的ltp作为底层框架。那么基于ltp其实有了非常多的小伙伴进行了尝试,笔者私自将其归纳为: 事件抽取(三元组) 观点抽取 “语言云” 以哈工大社会计算与信息检索研究中心研发的 ...

    无监督信息抽取较多都是使用哈工大的ltp作为底层框架。那么基于ltp其实有了非常多的小伙伴进行了尝试,笔者私自将其归纳为:

    • 事件抽取(三元组)
    • 观点抽取

    “语言云” 以哈工大社会计算与信息检索研究中心研发的 “语言技术平台(LTP)” 为基础,为用户提供高效精准的中文自然语言处理云服务。
    pyltp 是 LTP 的 Python 封装,提供了分词,词性标注,命名实体识别,依存句法分析,语义角色标注的功能。

    • 技术文档:http://pyltp.readthedocs.io/zh_CN/latest/api.html#id15
    • 介绍文档:https://www.ltp-cloud.com/intro/#introduction
    • 介绍文档:http://ltp.readthedocs.io/zh_CN/latest/appendix.html#id5

    需要先载入他们训练好的模型,下载地址

    初始化pyltp的时候一定要留意内存问题,初始化任何子模块(Postagger() /NamedEntityRecognizer()等等)都是需要占用内存,如果不及时释放会爆内存。
    之前比较好的尝试是由该小伙伴已经做的小项目:liuhuanyong/EventTriplesExtraction,是做三元组抽取的一个实验,该同学另外一个liuhuanyong/CausalityEventExtraction因果事件抽取的项目也很不错,辛苦写了一大堆规则,之后会对因果推理进行简单描述。

    笔者也自己写了一个抽取模块,不过只是简单评论观点抽取模块。
    留心的小伙伴可以基于此继续做很多拓展:搭配用语挖掘,同义词挖掘,新词挖掘
    code可见:mattzheng/LtpExtraction



    1 信息抽取 - 搭配抽取

    code可见:mattzheng/LtpExtraction

    1.1 逻辑整理

    整个逻辑主要根据依存句法分析,笔者主要利用了以下的关系类型:
    SBV,主谓关系

    那么笔者理解 + 整理后得到四类抽取类型:

    • 搭配用语查找(SVB,ATT,ADV)
    • 并列词查找(COO)
    • 核心观点抽取(HED+主谓宾逻辑)
    • 实体名词搭配(词性n )

    其中笔者还加入了停词,可以对结果进行一些筛选。

    1.2 code粗解读

    这边细节会在github上公开,提一下code主要分的内容:ltp启动模块 / 依存句法解读 / 结果筛选

    • ltp模块,一定要注意释放模型,不要反复 Postagger() / Segmentor() / NamedEntityRecognizer() /SementicRoleLabeller(),会持续Load进内存,然后boom…
    • 依存句法模块,笔者主要是整理结果,将其整理为一个dataframe,便于后续结构化理解与抽取内容,可见:
    • 结果筛选模块,根据上述的几个关系进行拼接。

    案例句:艇仔粥料很足,香葱自己添加,很贴心。

    在这里插入图片描述
    表的解读,其中:

    • word列,就是这句话主要分词结果
    • relation列/pos列,代表该词的词性与关系
    • match_word列/match_word_n列,根据关系匹配到的词条
    • tuples_words列,就是两者贴一起

    同时若觉得需要去掉一些无效词搭配,也可以额外添加无效词进来,还是比较弹性的。

    1.3 结果展示

    句子一:
    在这里插入图片描述

    句子二:
    在这里插入图片描述

    句子三:
    在这里插入图片描述


    2 三元组事件抽取 + 因果事件抽取

    帮这位小伙伴打波广告~

    2.1 三元组事件抽取

    该模块主要利用了语义角色srl,先定位关键谓语,然后进行结构化解析,核心的语义角色为 A0-5 六种,A0
    通常表示动作的施事,A1通常表示动作的影响等,A2-5 根据谓语动词不同会有不同的语义含义。其余的15个语义角色为附加语义角色,如LOC, 表示地点,TMP,表示时间等(一些符号可见笔者另一篇博客:python︱六款中文分词模块尝试:jieba、THULAC、SnowNLP、pynlpir、CoreNLP、pyLTP)。

    基于依存句法与语义角色标注的事件三元组抽取 文本表示一直是个重要问题,如何以清晰,简介的方式对一个文本信息进行有效表示是个长远的任务.我尝试过使用关键词,实体之间的关联关系,并使用textgrapher的方式进行展示,但以词作为文本信息单元表示这种效果不是特别好,所以,本项目想尝试从事件三元组的方式出发,对文本进行表示.
    项目地址:https://github.com/liuhuanyong/EventTriplesExtraction

    使用之后的效果:
    在这里插入图片描述

    在这里插入图片描述

    这边笔者觉得在结果之上,进行一些清洗的话,效果还是可以的,特别是事件性较强的,有效实体比较多的句子效果会比较好。当然,把这个用在评论中简直…

    2.2 因果事件抽取

    在这里插入图片描述
    主要包括以下几个步骤:

    • 1、因果知识库的构建。因果知识库的构建包括因果连词库,结果词库、因果模式库等。
    • 2、文本预处理。这个包括对文本进行噪声移除,非关键信息去除等。
    • 3、因果事件抽取。这个包括基于因果模式库的因果对抽取。
    • 4、事件表示。这是整个因果图谱构建的核心问题,因为事件图谱本质上是联通的,如何选择一种恰当(短语、短句、句子主干)等方式很重要。
    • 5、事件融合。事件融合跟知识图谱中的实体对齐任务很像
    • 6、事件存储。事件存储是最后步骤,基于业务需求,可以用相应的数据库进行存储,比如图数据库等。

    以下是运行结果:
    在这里插入图片描述

    整理之后的结果:

    在这里插入图片描述

    展开全文
  • LTP性能测试工具的使用详解

    万次阅读 2018-04-27 17:57:31
    LTP稳定性测试 ( LTP的安装步骤 )1.简介:LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和...

    一. LTP稳定性测试 ( LTP的安装步骤 )

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

    2../runltp –f commands(测试常规命令)

    3../runltp –f admin_tools(测试常用管理工具是否正常稳定运行)

    4../runltp –f dio(测试直接IO是否正常稳定)

    5../runltp –f  dma_thread_diotest(测试直接存储器访问线程直接IO是否正常稳定)

    6../runltp –f  fcntl-locktests(测试NFS网络文件系统锁是否正常稳定)

    7../runltp filecaps(测试filecaps是否正常)

    预制条件:/etc/sysctl.conf文件中加一行:CONFIG_SECURITY_FILE_CAPABILITIES=y后重启电脑

    8../runltp –f fs(测试文件系统是否正常)

    9../runltp –f  fs_bind(测试fs_bind是否正常)

    10../runltp –f fs_ext4(测试fs_ext4是否正常)

    11../runltp –f fs_perms_simple(简单测试文件系统权限)

    12../runltp –f  fs_readonly(测试文件系统只读)

    13../runltp –f fsx(对文件系统进行压力测试)

    14../runltp –f hyperthreading(CPU超线程技术测试)

    15../runltp –f io(异步IO测试)

    16../runltp –f  io_cd(对CD光驱进行压力测试)

    预制条件:将光盘放入光驱

    -t:指定测试的持续时间

              -t 60s = 60 seconds

              -t 45m = 45 minutes

              -t 24h = 24 hours

              -t 2d  = 2 days

    17../runltp –f  io_floppy(对软盘进行压力测试)

    预制条件:将软盘放入软驱中

    18../runltp –f  lvm.part1(测试文件系统MSDOS、Reiserfs、EXT2、NFS、Ram Disk、MINIX)

    19../runltp –f  math(数学库测试)

    20../runltp –f  nfs(nfs网络文件系统测试)

    预制条件:在本机配置nfs文件系统服务

    21../runltp –f  lvm.part2(测试EXT3、JFS文件系统是否正常使用)

    预制条件:安装EXT3JFS文件系统

    22../runltp –f pipes(对管道进行压力测试)

    23../runltp –f syscalls(测试内核系统调用)

    24../runltp –f syscalls-ipc(进程间通信测试)

    25../runltp –f can(测试控制器区域网络的稳定性)

    26../runltp –f connectors(测试Netlink Connector的功能性及稳定性)

    27../runltp –f ipv6(测试IPv6环境下的基本网络功能)

    28../runltp –f ipv6_lib(IPv6环境网络开发共享库)

    预制条件:内核支持IPv6

    29../runltp –f multicast( 测试多播的稳定性)

    预制条件:

    (1)设置环境变量export RHOST=<多播目标地址>

    (2)/root/.rhosts,/home/user/.rhosts 添加内容:多播目标主机地址,多播目标主机用户,有多少多播目标主机就写多少条。

    30. ./runltp –f network_commands ( 测试ftp和ssh的稳定性)

    预制条件:开启ftp和ssh

    31. ./runltp –f network_stress.whole( 网络各个功能的压力性测试 )

    预制条件:

    (1)部署一台服务器

    (2)服务器上运行的服务: ssh DNS http ftp

    32. ./runltp f nptl( 测试本地POSIX线程库的稳定性

    预制条件:内核支持POSIX本地线程库

    33../runltp –f nw_under_ns(测试网络命名空间的稳定性)

    34../runltp –f power_management_tests(电源管理模块的稳定性)

    预制条件:内核版本2.6.31以上

    35../runltp –f pty(测试虚拟终端稳定性)

    预制条件:内核支持VT console

    36../runltp –f quickhit(测试系统调用的稳定性)

    37../runltp –f rpc 和 ./runltp –f rpc_test(测试远程过程调用稳定性)

    预制条件:内核支持远程过程调用

    38../runltp –f scsi_debug.part1(测试SCSI的稳定性)

    39../runltp –f sctp(测试SCTP协议的稳定性)

    预制条件:内核支持SCTP协议

    40../runltp –f tcp_cmds_expect(TCP命令的可用性和稳定性)

    预制条件:内核支持TCP/IP协议

    41../runltp –f controllers(内核资源管理的稳定性测试)

    预制条件:内核版本必须等于或者高于2.6.24

    42../runltp –f cap_bounds(POSIX功能绑定设置可用性)

    预制条件:内核版本2.6.25以上

    43../runltp –f containers(命名空间资源稳定性)

    44../runltp –f cpuacct(测试不同cpu acctount控制器的特点)

    45../runltp –f cpuhotplug(测试cpu热插拔功能的稳定性)

    46../runltp –f crashme(测试crashme)

    预制条件:做测试前,先备份系统

    47../runltp –f hugetlb(测试 hugetlb)

    48../runltp –f ima(测试ima)

    49../runltp –f ipc(测试ipc)

    50../runltp –f Kernel_misc(测试 Kernel_misc)

    51../runltp –f ltp-aiodio.part1(测试 ltp-aiodio.part1)

    52../runltp –f Ltp-aiodio.part2(测试 Ltp-aiodio.part2)

    53../runltp –f ltp-aiodio.part3(测试 ltp-aiodio.part3)

    54../runltp –f ltp-aiodio.part4(测试 ltp-aiodio.part4)

    55../runltp –f ltp-aio-stress.part1(测试 io stress)

    56../runltp –f ltp-aio-stress.part2(测试 io stress)

    57../runltp –f mm(测试mm)

    58../runltp –f modules(测试内核模块)

    59../runltp –f numa(测试非统一内存访问)

    60../runltp –f sched(测试调度压力)

    61../runltp –f securebits(测试securebits)

    62../runltp –f smack(smack安全模块测试)

    63../runltp –f timers(测试posix计时器)

    64../runltp –f tirpc_tests(测试Tirpc_tests)

    65../runltp –f tpm_tools(测试 tpm_tools)

    66../runltp –f tracing(跟踪测试)

    二.初始测试

    1../runltp -p -l /tmp/resultlog.20180421 -d /tmp/ -o /tmp/ltpscreen.20180421 -t 1h 或者 ./runalltests.sh

              -p:人为指定日志格式,保证日志为可读格式    

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

              -d:指定临时存储目录,默认为/tmp

              -o:直接打印测试输出到/tmp/ltpscreen.20180421

              -t:指定测试的持续时间

                      -t 60s = 60 seconds
                      -t 45m = 45 minutes
                      -t 24h = 24 hours
                      -t 2d  = 2 days

    2. # vi resultlog.20180421(进来这里面查看结果)

    三. 压力测试

    1. # cd /opt/ltp/testscripts(进入这个目录)

    2. # yum install -y sysstat(执行ltpstress时需要添加”sar”或”top”工具)

    3. # ./ltpstress.sh -d /tmp/ltpstress.data -l /tmp/ltpstress.log -I /tmp/ltpstress.iostat  -i 5 -m 128 -t 1 -S

                -d:指定sar或top记录文件,默认/tmp/ltpstress.data
                -l:记录测试结果到/tmp/ltpstress.log
                -I:记录"iostat"结果到iofile,默认是/tmp/ltpstress.iostat
                -i:指定sar或top快照时间间隔,默认为10秒
                -m: 指定最小的内存使用,默认为: RAM + 1/2 swap
                -n:不对网络进行压力测试
                -S :用sar捕捉数据
                -T:利用LTP修改过的top工具捕捉数据
                -t: 指定测试时间,默认为小时

    4.测试结果


    5. 默认情况下,测试结果放在 /tmp
    ltpstress.log ---- 记录相关日志信息,主要是测试是否通过(pass or fail)
    ltpstress.data ---- sar工具记录的日志文件,包括cpu,memory,i/o等
    ltpstress.5010.output1 ---- 对应stress.part1,测试命令的一些输出信息  
    ltpstress.5010.output2 ---- 对应stress.part2,测试命令的一些输出信息
    ltpstress.5010.output3 ---- 对应stress.part3,测试命令的一些输出信息  
         


    6. 测试cpu 平均使用率:# sar -u -f ltpstress.data

    7. memory 平均使用率:# sar -r -f ltpstress.data

    8. # grep FAIL ltpstress.log | sort | uniq >failcase.txt(在ltpstress.log里面检索FAIL关键字,再用sort进行排序,用uniq去除重复项,将信息重定向到failcase.txt中)

    展开全文
  • LTP工具说明

    万次阅读 2012-11-29 14:26:11
    LTP工具说明   1.... LTP测试套件...................................................... 3 1.1 简介.....................................................................................................

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


    展开全文
  • 今天考虑如何将这个变态的系统(说它变态,一点都不过,因为是debian和Ubantu 杂交的,设计者都是这么说的)的功能测试程序化,结果论坛上有人建议考虑 IBM 的 linux test project 下载下来,安装了十来分钟,最后...

    今天考虑如何将这个变态的系统(说它变态,一点都不过,因为是debian和Ubantu 杂交的,设计者都是这么说的)的功能测试程序化,结果论坛上有人建议考虑 IBM 的 linux test project  下载下来,安装了十来分钟,最后运行时报错,安装不准确,糟糕的变量名等,奇怪呀,安装挺顺利的结果不能用,这系统,哎,就是特殊呀!

    不管了,IBM 的 linux test project  也是一个好工具,把参考资料保存在这里。

    http://tech110.blog.51cto.com/438717/737865

    说明:在写这篇文章之前,本人也不曾了解LTP是干嘛的,直到参加一次技术沙龙才了解到它是用来对linux系统进行稳定性测试的一个开源工具,演讲人是世纪佳缘运维部门的技术老总!平时我们这些做运维朋友们都很少涉及到系统的测试,因为觉得linux本生就很稳定,因此就没有必要去做测试,但是系统是更新的,同样linux的内核是也在更新的,那新系统是否就适合我们的业务,是否就比就系统稳定可靠呢!!我想大部分人凭直觉认为新系统就比老系统好吧!特别是对那些业务量大,访问量较高的大型网站来说,稳定的系统是多么的重要!!!

    @@@@-本人在网上也找了好久LTP的介绍,大都是雷同的,而且不知道COPY了多少遍,且时间已久,要想找到完整且好的非常的困难,从这点也可以看出,几乎很少有人做稳定性测试这方面的工作了!!

    本人关于LTP的一些说明大都还是来自于网上,我想这个应该都是一样的!

    =============================LTP介绍开始===================================

    LTP--Linux Test Project 

    简介:

        LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力

        通过压力测试来判断系统的稳定性和可靠性。

        压力测试是一种破坏性的测试,即系统在非正常的、超负荷的条件下的运行情况 。用来评估在超越最大负载的情况下系统将如何运行,是系统在正常的情况下对某种负载强度的承受能力的考验 。

        使用LTP测试套件对Linux操作系统进行超长时间的测试,重点在于Linux用户环境相关的工作负荷。而并不是致力于证明缺陷。

    压力测试的设计   

    重点: 1测试选择。

                  2评价系统资源利用率。

                  3分析内核代码覆盖率。

                  4评价最终压力测试

    1. 测试选择--包括达成两方面目的的测试

      - 测试应该可以得到 CPU(s)、内存、I/O 和网络等主要内核区域的高水平的资源利用率。

      - 测试应该充分地覆盖内核代码,以帮助支持自其结果中生成的稳定性声明。

    2. 评价系统资源利用率

      所选择的测试的组合必须给系统的资源带来足够的压力。Linux 内核的四个主要方面可以影响系统的 响应和执行时间:

      - CPU:用于在机器的 CPU(s)上处理数据的时间。

      - Memory:用于自真实存储器中读写数据的时间。

      - I/O:用于自磁盘存储器读写数据的时间。

      - Networking:用于自网络读写数据的时间。

        系统资源利用率评价阶段通常需要多次尝试才能得到合适的测试组合,并得到期望水平的利用率。当确定测试组合时,过度利用总是一个至关重要的问题。例如,如果选择的组合过于受 I/O 所限,可能会 导致 CPU 的测试结果不好,反之亦然。方法的这一部分主要是大量的试验和出错,直到所有资源达到期望水平。

        当选定一个组合后,测试必须长时间运行以准确评价资源的利用率。测试运行的时间长短取决于每个测试的长度。假如多个测试同时运行,则时间必须足够长以使得这些测试中最长的那个可以完成。在这个评价过程中,sar 工具也应该在运行。在评价运行的结论中,您应该收集并评价所有四种资源的利用率水平。

    3. 分析内核代码覆盖率

      获得足够的内核覆盖率是系统压力测试的另一个职责。尽管所选的测试组合充分地利用了四种主要资源,它也有可能只是执行了内核的一小部分。因而,应该对覆盖率进行分析以确保组合可以成为一个系统压力测试,而不是一个系统负载生成器。

    4. 之所以要执行方法中的这最后一步,是为了对系统压力测试进行核实。在一个被认为是稳定的内核上执行压力测试; 通常,发行版本中的内核可以满足这一要求,但不总是如此。要长时间地执行压力测试,同时运行sar 工具,原因有以下两点:

      -长时间运行有助于发现组合中的所有问题,否则,在短时间的“取样测试(sniff test)”中这些问题可能会被忽略。

      -sar 生成的数据构成以后测试运行中进行比较的基线。

       长时间运行结束后,现在可以基于收集的所有数据来决定这个测试组合是否是系统压力测试的合适候选者。

    LTP 测试方法

    测试方法有两个阶段:

                 阶段1: 初始测试

                 阶段2: 压力测试

    初始测试 --- 是开始测试的必要条件。初始测试包括LTP测试套件在硬件和操作系统上成功运转,这些硬件和操作系统将用于可靠性运转。LTP测试套件包附带的驱动程序脚本runalltests.sh用于验证内核。这个脚本串行地运行一组成包的测试,并报告全部结果。也可以选择同时并行地运行几个实例。在执行runltp脚本的时,可以指定参数添加需要的测试的项目(在/testscripts内),初始测试测试脚本是runalltests.sh或runltp(runltp默认执行的内容与runalltests相同),默认地,这个脚本执行:

    - 文件系统压力测试

    - 硬盘 I/O 测试

    - 内存管理压力测试

    - IPC 压力测试

    - SCHED 测试

    - 命令功能的验证测试

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

    压力测试 --- 可以验证产品在系统高使用率时的健壮性。作为runalltests.sh的补充,特别设计了一个名为ltpstress.sh的测试场景,在使用网络与内存管理的同时并行地运行大范围的内核组件,并在测试系统上生成高压力负荷。

    ltpstress.sh也是LTP测试套件的一部分。这个脚本并行地运行相似的测试用例,串行地运行不同的测试用例,这样做是为了避免由于同时访问同一资源或者互相干扰而引起的间歇性故障。测试内容同runltp,不同点在于runltp可以指定测试项进行组合测试,而runalltests.sh则会全部执行。默认地,这个脚本执行:

    - NFS 压力测试

    - 内存管理压力测试

    - 文件系统压力测试

    - 数学 (浮点) 测试

    - 多线程压力测试

    - 硬盘 I/O 测试

    - IPC (pipeio, semaphore) 测试

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

    - 网络压力测试

    LTP工作组在设计Linux 内核压力测试脚本 ltpstress.sh 时使用了这一设计方法,为给系统提供足够的压力,LTP工作组对这个组合测试进行了分析,以确定 Linux 内核的哪些部分在测试执行中得到了使用。然后,修改了组合测试,在保持期望的高强度系统压力的同时提高代码覆盖率的百分比。最终得到的压力测试涵盖了Linux 内核的足够多部分,有助于稳定性声明,并且有系统使用情况和内核代码覆盖情况的数据来支持它。

    有两个开放源代码工具可以帮助进行 Linux 内核的代码覆盖率分析:

      - gcov:一个由 LTP 维护的开放源代码工具。这个工具分析内核代码的覆盖率,并报告哪些行、函数和分支被覆盖以及它们被访问了多少次。

      - lcov:另一个由 IBM 开发,由 LTP 维护的开放源代码工具。 这个工具由一组构建于基于文本的 gcov 输出之上的 Perl 脚本构成,以实现基于 HTML 的输出。输出包括覆盖率百分比、图表以及概述页,可以快速浏览覆盖率数据。可以自LTP主页找到这两个工具。

    lcov 工具会生成一棵完整的HTML 树,其中包含有内核中代码的每一行以及关于每一行执行了 多少次的数据(如果有的话)。这个工具会量化覆盖率数据并生成关于内核中每一部分和 文件覆盖率的百分比数字。

    内核的代码覆盖率分析只是在ltpstress.sh的设计和开发过程中用到,目的是保证lptsress.sh的可用性,我们在实际测试的时候就不需要再做内核的代码覆盖率分析了。

    系统监控

    LTP 测试套件附带的 top 工具是经过修改的,用作系统监控工具。使用 top 可以实时地观察处理器的行为。改进的 top 工具具有附加的功能,可以将 top 结果的快照保存到文件中,并给出结果文件的平均总结,包括 CPU、内存和交换空间利用率等信息。

    在我们的测试中,sar工具每 10 秒钟截取一次系统利用率的快照,并保存到结果文件。

    测试之前所有选定的测试系统的硬件配置尽可能相同。去掉额外的硬件以减少潜在的硬件故障。在映像安装过程中选择最低的安全选项。预留至少 2 GB 的硬盘空间以保存 top 数据文件和 LTP 日志文件。

    测试期间系统不要受到干扰。偶尔访问一下系统以确认测试仍在进行是可以接受的。确认的手段包括使用 ps 命令、检查 top 数据和检查 LTP 日志数据。

    源安装包目录列表:

    doc: 该目录是说明文件和帮助文档的所在地,这个目录中对LTP的内容和每个工具都有详细的说明

    testscripts: 该目录中存储的是可执行的测试脚本,不同方面的测试脚本的集合

    testcases: 该目录存储了所有LTP测试套件中所使用的测试用例的源码

    runtest: 该目录中的每个文件都是要执行的测试用例的命令集合,每个文件针对测试的不同方面

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

    include: LTP测试套件的头文件目录,定义了LTP自身的数据结构和函数结构

    lib: LTP测试套件运行时自身需要的库文件,定义了LTP自身的各种函数

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

    results: 测试结果默认存储目录

    output: 测试日志默认存储目录

    share: 脚本使用说明目录

    pan: 该目录存储的是LTP测试套件的测试驱动程序pan

    pan工作原理:LTP测试套件有一个专门的测试驱动程序pan,具体的测试用例的执行都是由pan来调用执行,它可以跟踪孤儿进程和抓取测试的输出信息。它的工作方式是这样的:

    从一个测试命令文件中读取要测试的条目的要执行的命令行,然后等待该项测试的结束,并记录详细的测试输出。默认状态下pan会随机的选择一个命令行来运行,可以指定在同一时间要执行测试的次数。

    pan会记录测试产生的详细的格式复杂的输出,但它不进行数据的整理和统计,数据整理统计的工作由scanner来完成,scanner是一个测试结果分析工具,它会理解pan的输出格式,并输出成一个表格的

    形式来总结那些测试passed或failed.

    LTP测试套件通过执行测试脚本runalltests.sh(或runltp或runltplite.sh)或/testscripts内的测试脚本调用驱动程序pan执行/testcases内的测试项目。

    文件列表:

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

    runltplite.sh :  这个脚本用来测试LTP安装,也可用来对测试套件的子项目进行测试

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

    安装: ltp-full-20110915.bz2

    下载地址: http://ltp.sourceforge.net/

    1> tar xvjf ltp-XXXXXXXX.bz2

    2> cd ltp

    3> ./configure

    4> make all

    5> make install

    ##不指定安装路径的话,将会默认安装到/opt/ltp目录

    LTP的实际运行

    实际运行当中,您还需要配置一些必要的服务才可以正确的运行LTP的测试套件,以ltprunall.sh为例,它是不需要配置其他服务就可以运行的,但是对于ltpstress.sh,是需要配置一些相关服务之后才可以正确运行的,需要您配置的服务如下:

    配置rsh和rlogin服务,使用户能以root身份不需密码验证直接登录本机。

    测试运行

    1. 初始测试

    ./runltp -p -l /tmp/resultlog.20111207 -d /tmp -o /tmp/ltpscreen.20111207 -t 24h

    或者: ./runalltests.sh                   

              -p:人为指定日志格式,保证日志为可读格式                      

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

              -d:指定临时存储目录,默认为/tmp

              -o:直接打印测试输出到/tmp/ltpscreen.20111207

              -t:指定测试的持续时间

              -t 60s = 60 seconds

              -t 45m = 45 minutes

              -t 24h = 24 hours

              -t 2d  = 2 days

    2. 压力测试

    在使用testscripts/ltpstress.sh脚本之前需要对系统进行配置

    -rsh必须配置完毕并在运行。

    -内核支持NFS,并且安装NFS软件,通过网络测试

    -"sar"或"top"工具需要被安装,执行ltpstress时需要添加"sar"或"top"工具。 # yum install sysstat

    ./ltpstress.sh -d /tmp/sardata -l /tmp/ltpstress.log -I /tmp/iofile -i 5 -m 128 -t 24 -S

                    -d:指定sar或top记录文件,默认/tmp/ltpstress.data

    -l:记录测试结果到/tmp/ltpstress.log (小写L)

    -I:记录"iostat"结果到iofile,默认是/tmp/ltpstress.iostat (大写i)

    -i:指定sar或top快照时间间隔,默认为10秒

    -m: 指定最小的内存使用,默认为: RAM + 1/2 swap

                    -n:不对网络进行压力测试

                    -S :用sar捕捉数据

                    -T:利用LTP修改过的top工具捕捉数据

                    -t: 指定测试时间   

    测试结果分析

    默认情况下,测试结果放在/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

    分析:

         ltpstress.log 将所有FAIL过滤出来,得到完整的所有FAIL的testcases。

    方法如下:用sort把FAIL的项排序,再用uniq排除重复项输出到一个文件就可以了:

         grep FAIL ltpstress.log | sort | uniq >failcase.txt

    至此,得到的failcase.txt为所有FAIL的testcases名字。要注意分析case失败的原因是什么.

    并下结论:是配置的问题,还是稳定性的问题(有失败也有成功)。并将结论加注在failcase.txt中,方便查看。

    用户自定义测试:

    想要有选择的自定义测试项目,可以如下方法操作

    创建命令文件,这个命令文件包括两部分: tag和test case

    tag即为标签项,起到一个说明的目的,方便我们知道是干什么的.

    test case即为要测试的项目,此部分为/opt/ltp/testcases/bin/下的命令加上相关的选项

    例如:

    #Tag       Test case

    #------------------------------------

    mtest01     mtest01 -p 10

    mmstress    mmstress -x 100

    fork01      fork01

    chdir01     symlink01 -T chdir01

    #------------------------------------

    假如此文件名定义为self.sh

    则可运行:

    ./runltp -p -l self.log -f /opt/ltp/self.sh

    如果未指定日志文件存储路径将会默认保存到/opt/ltp/results/self.log下

    如果-f选项后的文件不指定绝对路径,将会默认的到目录/opt/ltp/runtest下去寻找

    此例中假如self.sh文件在/opt/ltp/runtest目录下,只需-f self.sh即可.如不在将会提示在runtest目录下找不到

    文件self.sh  如:

    ./runltp -p -l self.log -f self.sh

    INFO: creating /opt/ltp/results directory

    cat: /opt/ltp/runtest/self.sh: 没有那个文件或目录

    FATAL: unable to create command file

    例如要单独测试runtest目录里的项目,以tracing为例,则可:

    ./runltp -p -l tracing.log -f tracing

    结果如下:

    #cat results/tracing.log

    Test Start Time: Thu Dec  8 18:26:03 2011

    -----------------------------------------

    Testcase                       Result     Exit Value

    --------                       ------     ----------

    ftrace-stress-test             PASS       0   

    -----------------------------------------------

    Total Tests: 1

    Total Failures: 0

    Kernel Version: 2.6.18-194.el5

    Machine Architecture: i686

    Hostname: HA02

    同样可以对文件进行修改,取消我们不需要测试的部分,如下:

    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

    有个IBM的LTP测试,不过时间较老为2004年的,而且说的太简单,最重要的是它里面的图标数据是怎么来的,本人还不知道是怎么来的呢,望知道的朋友能够提出您的宝贵意见,本人将非常感谢,或者能够发帖出来与大家分享一下!!!

    http://www.ibm.com/developerworks/cn/linux/l-rel/  可以看看!!!

    此图挺好,本人就是不知道用什么工具来实现,期待ING!!!!!!!

    可以参考资料:使用 gnuplot 在网页中显示数据

    http://www.ibm.com/developerworks/cn/aix/library/au-gnuplot/#4.Installing Gnuplot|outline

    下面附上top和sar的使用方法,方便参考!

    "top"工具

    使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

    说明:即时显示 process 的动态

    -d    改变显示的更新速度,或是在交谈式指令列( interactive command)按d

    -q    没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行

    -c    切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称

    -S    累积模式,会将己完成或消失的子行程 ( dead child process ) 的 CPU time 累积起来

    -s    安全模式,将交谈式指令取消, 避免潜在的危机。

    -i    不显示任何闲置 (idle) 或无用 (zombie) 的行程

    -n    更新的次数,完成后将会退出 top

    -b    批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内


    "sar"工具

    sar [options] [-A] [-o file] t [n]

    说明:在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,sar命令的选项很多,下面只列出常用选项:

    -a    报告文件读写使用情况

    -b    报告缓存的使用情况

    -c    报告系统调用的使用情况

    -d    报告磁盘的使用情况

    -h    报告关于buffer使用的统计数据

    -m    报告IPC消息队列和信号量的使用情况

    -q    报告运行队列和交换队列的平均长度

    -R    报告进程的活动情况

    -r    报告没有使用的内存页面和硬盘块

    -u    报告CPU的利用率

    -v    报告进程、i节点、文件和锁表状态

    -w    报告系统交换活动状况

    本文出自 “宗军” 博客,请务必保留此出处http://tech110.blog.51cto.com/438717/737865

    另外附:

    关于楼主,博文中提到的图片的生成方法。推荐读这篇文章:
    Data visualization tools for Linux
    http://www.ibm.com/developerworks/linux/library/l-datavistools/

    找到了gnuplot的中文事例!
    gnuplot 让您的数据可视化
    http://www.ibm.com/developerworks/cn/linux/l-gnuplot/

    LTP:

    http://ltp.sourceforge.net/documentation/how-to/ltp.php

    展开全文
  • 中文句法分析及LTP使用

    千次阅读 2019-12-12 14:32:43
    二、基于Python的LTP句法分析 1、LTP基础 2、pyltp安装 3、pyltp实现句法分析 三、基于C++的LTP句法分析 1、LTP源码和模型 2、LTP的C++源码编译及测试 3、在Linux下使用动态库生成可执行程序 4、 构建基于...
  • LTP套件使用方法详解

    千次阅读 2018-05-04 13:32:15
    LTP套件使用方法详解 初次接触LTP (Linux Test Project) 被LTP的各种man文件、LTP官网文档还有网上找的七七八八的文章搞得一头雾水,怎么都测试不成功,不知道是我英文太烂没理解对还是它写的不清楚。经过反复摸索...
  • LTP简介

    千次阅读 2019-01-08 14:07:11
    语言技术平台(Language Technology Platform,LTP)是哈工大社会计算与信息检索研究中心历时十年研制的一整套开放中文自然语言处理系统。提供了一整套自底向上的丰富、高效、高精度的中文自然语言处理模块 (包括...
  • LTP工具的详细使用介绍

    千次阅读 2019-04-11 17:30:00
    <div class="article-copyright"> 版权声明:针对本篇博客提供有偿解决问题,可联系qq:【122043580】,微信:【qqqkj520】 .../div> ...
  • 自然语言处理包 哈工大 LTP的使用

    万次阅读 2020-04-21 16:17:59
    开始使用LTPLTP 的下载和安装 依赖:CMake在 Windows (MSVC) 下编译在 Linux, macOS 和 Cygwin 下编译编译结果说明 使用ltp_test和xxx_cmdline LTP模型文件ltp_test主程序xxx_cmdline细节兼容性测试 使用编程接口...
  • 哈工大语言云(LTP)本地安装使用及Python调用

    万次阅读 热门讨论 2016-04-17 17:51:16
    备注:本文实验环境为64位win7系统,32位python2.7.11 哈工大LTP官方主页:...(1)LTP项目文件ltp-3.3.1-win-x86.zip (2)LTP模型文件3.3.1(2016年4月13日前) 下载地址参考:http://ltp.read
  • LTP安装和使用

    千次阅读 2012-08-17 11:05:02
    1.LTP安装 http://sourceforge.net/projects/ltp/files/LTP Source/下载最新的LTP压缩包,如ltp-full-20120614.bz2。 下载后建议存放到/home目录下,不要放在/root目录下,因为一些测试需要非root用户来完成。如:/...
  • LTP安装步骤1.# yum install gcc 2.# yum install gcc-c++ libstdc++-devel3.http://ltp.sourceforge.net/(1)选择LTP GitHub pages(2)ltp-full-20180118.tar.bz24.tar -jxvf ltp-full-20180118.tar.bz25../c...
  • 一:Docker安装 官方文档:http://ltp.ai/docs/install.html ...二:docker build -t ltp/ltp . # 由于网络原因可能中途失败。多执行几次即可。 三:在配置中给docker运行给予足够大的内存。我们这里设置了...
  • Linux上本地使用LTP——ltp4j的使用

    千次阅读 2016-09-06 00:22:47
    由于要处理大量文本,所以使用LTP-CLOUD的REST API方式来处理文本效率实在很低,而且由于网络原因经常出错。好在LTP可以在本地使用,下面就介绍如何在Linux系统下进行安装配置。MacOS上没有编译成功,所以暂时不提...
  • 官方教程:http://ltp.readthedocs.org/zh_CN/latest/install.html 个人总结:
  • 哈工大 LTP

    千次阅读 2018-06-06 21:36:55
    一.LTP事项1.LTP可以做什么? 中文文本进行分词、词性标注、依存句法分析、语义角色标注、语义依存分析。2. 注册:免费注册一个账号 网址:http://www.ltp-cloud.com/accounts/register/二.win10 下pyltp安装指南1....
  • LTP分词与词性标注(使用用户词典)

    千次阅读 热门讨论 2017-11-12 16:53:07
    #coding:utf-8from pyltp import Segmentor from pyltp import Postaggerdef read_and_seg_pos(file_dir): segmentor = Segmentor() postagger = Postagger() segmentor.load_with_lexicon("模型地址/cws.mod
  • 哈工大语言技术平台LTP(Language Technology Platform)提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。LTP本身是基于C++开发的,不过官方也提供了...
  • 在home目录下安装项目代码与模型文件,文件夹名称分别为 pyltp 与 ltp_data_v3.4.0 在pyltp目录下,新建三个文件夹sourceWords,targetWords,zidian,script分别存放原语料,目标语料,字典文件,模型文件(将...
  • 浅析ltp测试流程

    千次阅读 2016-04-02 18:53:43
    简单分析ltp的测试流程和测试项 什么是ltp LTP — Linux Test Project的缩写 LTP用来验证Linux系统可靠性、健壮性和稳定性。LTP测试套件是测试Linux内核和内核相关特性的工具的集合。该工具的目的是通过把...
1 2 3 4 5 ... 20
收藏数 5,859
精华内容 2,343
关键字:

LTP