使用ltp测试linux系统
时间:2010-09-08 来源:wuting_linux
Linux Test Project(简称LTP)是SGI、IBM、OSDL、Bull和Wipro Technologies合作的项目。目的是为开放源代码团体提供测试套件,以测试linux的可靠性、健壮性和稳定性。它是测试linux内核和相关部件的工具和集合。
LTP套件的测试用例:包含了超过2000个测试用例,涵盖了内核的大多数接口,如系统调用、内存、IPC、I/O、文件系统和网络。
LTP测试过的体系结构:i386、ia64、PowerPC、PowerPC64、S/390x、MIPS、mipsel、cris、AMD Opteron 以及嵌入式体系结构。
LTP测试的过程主要分为两个阶段:
第一阶段——初始测试,主要用于测试系统的可靠性,包括LTP测试套件在硬件和操作系统上24小时的成功运转。
第二阶段——压力测试,主要验证产品在系统高使用率时的健壮性。
确保为系统提供足够的压力,必须基于系统资源的利用率统计开发一个测试组合。要对该组合测试进行分析,以确定linux内核的哪些部分在测试中得到了使用。然后,修改组合测试,在保持高强度系统压力的同时提高代码覆盖率。最终得到涵盖了linux内核的够多部分的压力测试组合,同时,也有助于稳定性的声明。因此,这个组合测试分为以下四个步骤:
1、 选择测试
使得CPU、内存、I/O和网络等主要内核区域达到高水平资源利用率。
2、 评价系统的资源利用率
需要通过多次尝试,得到合适的测试组合,并得到期望水平的利用率。所选择的测试组合必须给系统的资源带来足够的压力。Linux内核有四个方面影响系统的响应和执行时间:
●CPU:处理数据的时间
●Memory:从真实存储器上读写数据的时间;
●I/O:从磁盘存储器上读写数据的时间;
●Networking:从网络上读写数据的时间。
检查工具:开源的top和sar工具。其中,top工具用于确定每个测试影响那个资源,并实时地显示出它们使用了多少资源;sar工具用于收集一段时间内的网络利用率和统计数据,并将所有利用率数据记录到一个文件中。
3、 分析内核代码覆盖率
获得足够的内核覆盖率是系统压力测试的另一个职责。所选的测试组合充分地利用了四种资源,但也有可能只是执行了内核的一小部分。因此,应对覆盖率进行分析,以确保组合可以成为一个系统压力测试,而不是一个系统负载生成器。
代码覆盖率分析工具:gcov和icov
4、 最终的压力测试评价
长时间的执行压力测试(推荐至少24小时),同时运行sar工具。