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 利用率
- sstat
Linux
-
- SPECweb99
代表 Web 服务性能 - SPECsfs
代表 NFS 性能 - 数据库查询
代表数据库查询性能 - NetBench
代表 SMB 文件服务性能
- SPECweb99
组件级的基准测试程序测量特定 Linux 内核组件的性能和可伸缩性,对于各种工作负载,这些基准测试程序被认为是至关重要的。例如:
- Netperf3
测量网络堆栈的性能,包括 TCP、IP 和网络设备驱动程序 - VolanoMark
测量调度程序、信号、TCP 发送/接收和回送的性能 - 块 I/O 测试
测量 VFS、原始和直接 I/O、块设备层、SCSI 层和低级的 SCSI/光纤设备驱动程序的性能