Linux操作系统性能评测与测试指标浅析.docxVIP

  • 12
  • 0
  • 约3.35千字
  • 约 7页
  • 2019-05-14 发布于贵州
  • 举报

Linux操作系统性能评测与测试指标浅析.docx

Linux操作系统性能评测与测试指标浅析   性能测试是对一个操作系统运行效率进行评价的关键环节。我们采用适当的性能测试工具集,在保证工具正确运行和基准软硬件测试环境一致的前提下,运行性能测试工具,对测试数据进行收集和处理分析,依照判断标准得出对被测性能指标的评价,从而对Linux操作系统的整体性能做出综合评价。   一、性能测试策略   Linux操作系统性能测试的主要目的包括评估系统的综合能力、验证可靠性、识别系统中强弱点、为系统调优提供依据等。在实施Linux操作系统性能测试和评测时,应注意遵循如下策略:   所有被测操作系统应运行于相同的硬件平台和网络条件下,使用同样的性能测试工具,保证测试环境的一致。性能测试应在稳定的测试环境下运行,保证测试期间系统不受干扰。被测操作系统应处于一定的CPU、I/O、Memory压力负荷下,一方面验证系统在高负载下的表现,另一方面可以得到差距较明显的数据。为了得到准确有效的测试数据,通常采取自动运行3~5组测试,去除特殊值后取平均值的取值方法。测试指标应包括系统执行特定任务的能力,执行特定任务的耗时,执行特定任务的CPU利用率和资源占用状况等。性能测试通常没有一定的Pass/Fail标准,而是通过分析多个操作系统中的运行数据,进行各项指标的综合对比。对操作系统性能的评测需从处理能力、吞吐率、响应能力、资源利用率等方面进行综合对比。对不同指标的重要程度的评价应以操作系统拟运行的应用类型和硬件资源、生产环境条件为基准做出判定。   二、性能测试工具的选择   性能测试过程中,通常会利用一些自动化工具。在Linux操作系统性能测试工具的选择方面,把握了以下几方面的原则:   针对linux操作系统,具有权威性和被业界公认。开源软件,具有良好的社区基础,保证持续开发和可维护。满足测试目标和评测需求。稳定、易用、兼容性和扩展性好。   基于以上原则,我们选用Stress工具对操作系统加压,选择Lmbench、Bonnie++、PingPong、NetPerf组成性能测试工具集。下面对各工具进行简单介绍:   Stress。用于给CPU、内存、I/O加压的系统测试工具,使系统在高负载下运行。   Lmbench。Lmbench是一个系统综合性能测试套件,它由Bandwidth基准测试、Latency基准测试、Miscellanious基准测试三类基准测试去衡量操作系统的基本性能。目前,很多Linux操作系统厂商用它来评估自己的产品和与其它Linux产品,进行性能对比分析。   bonnie++。Bonnie++是一个磁盘I/O基准测试套件,主要用于磁盘和文件系统的性能测试。它可以测试文件的创建、读、写和删除等操作,既可以测试小文件,也可以测试大的单个文件。很多硬件和软件厂商用它测试其产品的I/O性能,是一个被广泛应用的工具。   Pingpong。Pingpong是一个Linux线程性能的测试工具,它通过在两个MPI节点之间pingpong消息的进行测试。linux操作系统厂商通常用它来评估系统的线程性能。   Netperf。Netperf是一个网络性能的测量工具,主要针对基于TCP或UDP的传输。根据应用的不同,Netperf可以进行不同模式的网络性能测试。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多快的速度接收数据。   三、性能测试指标分析   内核性能测试   对于Linux操作系统,内核是最核心的部分,内核的性能直接决定了操作系统的性能。内核性能测试的方法是针对Linux内核五大子系统:进程调度子系统、内存管理子系统、虚拟文件子系统、进程通信子系统和网络子系统的特点,测量出Linux内核完成工作量负载的响应时间、CPU时间和CPU利用率等参数,作为衡量标准。   使用lmbench测试套件对Linux操作系统内核的综合性能指标进行测试。具体的测试指标与判断标准如下:   表1 lmbench测试指标   测试指标 测试项和测试内容 判断标准   系统基本参数 Tlb pages、Cache line bytes、Mem par、并行的lmbench数 符合实际系统基本参数值   处理器处理时间:   即进程在CPU中的执行时间。 简单系统调用,执行getppid()   简单IO操作   取文件状态的执行时间   打开然后关闭一个文件的时间   Select设置   信号处理初始化   捕获处理信号   Fork()进程后直接退出   Fork()后执行execve()调用再退出   Fork()后执行shell再退出 以时间为单位   数值越小越好   数值运算 基本整型数、64位整型数、基本浮点数和双精度数操作。 以时间

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档