Linux 内核性能和可伸缩性

Linux 作为 Web 服务器操作系统,展示了其高可靠性,最多可达4路的对称多处理器(SMP); 它的SMP可伸缩性、磁盘和网络i/o性能,调度程序和虚拟内存管理器。

 

硬件和软件

  IA-32体系结构:

  数据库:

     查询数据库基准测试程序,而在硬件上,采用带大磁盘配置的 8 路 SMP 系统。数据库软件采用 IBM DB2 for Linux,SCSI 控制器是 IBM ServeRAID 4H。这个数据库是针对 8 路 SMP。

 

SMB文件服务

   基准测试程序netBench,硬件是4路SMP系统,驱动SMP服务器的客户机可多大48个。中间件Samba(开放源码) 。SAM文件服务时针对8路SMP。

Web 服务 

    基准测试程序是SPECweb99,硬件是8路SMP,并带有大内存配置,客户机可达32个。这个基准测试仅用于研究目的,不做它用(有关这方面的更多细节,请参阅 基准测试程序这一节)。Web 服务器是 Apache,它是 IBM HTTP 服务器的基础。我们选择 8 路 SMP 是为了研究可伸缩性,而选择 Apache 是因为它支持对下一代 posix 线程(NGPT)的测量和分析

  • /proc 文件系统 
    meminfo、slabinfo、中断、网络状态、I/O 状态等。
  • SGI 的 lockmeter 
    来自 SMP 锁分析
  • SGI 的内核概要分析器(kernprof) 
    基于时间的概要分析、基于性能计数器概要分析、仅关于内核空间的带注释的调用图(annotated call graph,ACG)
  • IBM 跟踪工具 
    针对用户空间和系统空间的单步(mtrace)并同时基于时间和基于性能计数器的概要分析开发专门的性能工具,以进一步理解系统具体某个方面。

    例如:

    • sstat 
      收集调度程序统计信息
    • schedret 
      确定哪些内核功能因调查空闲时间而阻塞了
    • acgparse 
      后处理 kernprof ACG
    • 复制进/出工具 
      确定缓冲区的调整、复制大小和复制进/出算法的 CPU 利用率

   Linux

SPECweb99 
代表 Web 服务性能 SPECsfs 
代表 NFS 性能 数据库查询 
代表数据库查询性能 NetBench 
代表 SMB 文件服务性能

组件级的基准测试程序测量特定 Linux 内核组件的性能和可伸缩性,对于各种工作负载,这些基准测试程序被认为是至关重要的。例如:

Netperf3 
测量网络堆栈的性能,包括 TCP、IP 和网络设备驱动程序 VolanoMark 
测量调度程序、信号、TCP 发送/接收和回送的性能 块 I/O 测试 
测量 VFS、原始和直接 I/O、块设备层、SCSI 层和低级的 SCSI/光纤设备驱动程序的性能

 


你可能感兴趣的:(Linux 内核性能和可伸缩性)