热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>内核研究>

Linux系统2.4和2.6内核上Web服务比较

来源: 作者: 时间:2007-04-07 Tag: 点击:

在支持企业应用程序方面,Linux 2.6 内核做了很多改进。本文给出了 IBM Linux Technology Center 的 Web 服务测试工作的结果,从各个不同的角度对 Linux 2.4 和 2.6 内核进行了比较。其中的亮点是 2.6 内核的关键增强功能、测试方法学和测试本身的结果。最终结果:2.6 内核提供 Web 页服务要比 2.4 快得多,并且可靠性一点也不差。

在 IBM Linux Technology Center (LTC) 进行的 Linux Web 服务测试工作的目的是发现 Linux 内核的缺陷。测试着重于与实际情况中使用 Web 服务器/应用程序服务器的企业用户环境相关的工作负荷,也着重于提高 Linux 内核的稳定性、可扩展性以及 (内核) 与 Web 服务器/实用程序服务器的兼容性。最重要的并不是识别 Web 服务器和应用程序服务器的缺陷。

测试综述

两类 Web 服务测试

有两类服务器可以用于 Web 服务:Web 服务器和应用程序服务器。在本文中,我将使用术语“Web 服务”来统一表示它们。Web 服务器 通过处理基于 HTTP 协议的请求来使网页显示在 Web 浏览器中。

应用程序服务器 是广义上的服务器,通过各种协议,其中可能包括 HTTP 协议,来向客户机应用程序公开业务逻辑。相对于 Web 服务器,它提供了更为复杂和强大的功能,例如会话管理、负载平衡、消息传递、事务管理、安全,等等。在某种意义上,应用程序服务器是 Web 服务器的超集。

我们为 Linux 内核测试环境选择了一些 Web 服务器和应用程序服务器,包括 Apache、Jakarta-Tomcat、IBM WebSphere Application Server 和 Jboss。这些大部分都是开放源代码项目,可以免费下载(请参阅 参考资料 的链接以获得更多关于这些服务器的信息)。

2.4 和 2.6 内核测试之间的差异

使用 Web 服务器和应用程序服务器作为测试工作负载,在 2.5/2.6 内核上的测试工作要比在 2.4 内核上详尽得多。在测试 2.4 内核时,仅用到了 Apache 和 WebSphere Application Server 这两个服务器作为综合测试方案的一部分。Web Performance Tool (WPT) 是所用的主要 Web 测试工具。出于偶然的机会,当内核中有大的改动或者需要验证软件,要进行 Web 服务测试。

在对 2.5/2.6 内核的测试中,我们制定了更为可靠和完整的测试计划 (请参阅 参考资料,获得 SourceForge 上关于2.5 测试计划和实施计划的链接)。在计划中制定了适当的测试范围、测试方法和测试时间线。在综合测试、重点测试和用户仿真测试中,Web 服务器和应用程序服务器测试被广泛用作测试工具。

除了使用更多的服务器以外,我们还使用了一些不同的 Web 客户机测试工具,包括 WPT、Hammerhead、Httperf 和 Pagepoker,来模拟不同类型的用户环境。所有服务器和客户机工具执行的持续时间不同 (24 小时和 96 小时),不同于持续时间固定的对最新可用内核的测试。

此外,测试硬件不局限于基于 Intel 的单处理器系统。测试在 1 路、4 路和 8 路 IBM xSeries 机器上和 64 位 IBM PowerPC 系统上进行。内核相关的缺陷在 Linux 内核缺陷追踪系统中公开。

2.6 内核的关键增强功能

Web 服务在企业界扮演着重要的角色。为支持企业应用程序,2.6 内核有了显著的改进和变化。新硬件支持、软件支持和内部的内核改进给 2.6 内核带来了更好的扩展性和稳定性。2.6 内核在跨多个 CPU 和大内存时的高负载情形下性能比 2.4 更好。2.6 中将有益于企业应用程序的一些关键特性包括:

新硬件支持

Linux 支持范围广泛的硬件平台。2.6 内核支持新的体系结构,例如 64 位 PowerPC、64 位 AMD Opteron 和嵌入式处理器。

超线程

超线程是 Intel 的一项创新,是 2.6 内核所支持的主要的硬件提高。基本来说,超线程可以通过同步多线程技术(simultaneous multi-threading technology,SMT)在单个物理处理器上创建多个虚拟处理器;多个应用程序线程可以同时在一个处理器上运行。为充分利用这一特性,应用程序需要是多线程的。

超线程给 Web 服务器和应用程序服务器带来了很多益处。它可以增加可处理的事务的数目,提供更快的服务器响应时间,并支持服务器处理更大的工作负载和更多的用户请求。当前,Intel Pentium 4 Xeon 处理器具有内置的超线程硬件。



相关文章:
精通initramfs构建step by step
Linux利用kexec迅速切换内核
进程上下文VS中断上下文
内核通知链 学习笔记
linux spi子系统驱动分析
menuconfig 配置选项
《Linux操作系统内核实习》之练习一
udev详解
什么叫微内核,宏内核?
Linux 信号signal处理机制
开发简单的 Linux2.6 内核模块
删除内核的perl脚本
Linux2.6内核usb gadget驱动移植
GCC hacks in the Linux kernel
iomem
kernel学习的想法
让自己的驱动支持udev
linux内核编译步骤
内核的等待队列
Linux内核wait_queue深入分析
升级和删除内核
SD卡驱动分析2
Linux Kernel VDSO本地权限提升漏洞
内核中的TCP的追踪分析-15-TCP(IPV4)的客户端与
linux 2.6内核可加载模块的编译
内核模块HelloWorld
在环回接口上发送一个数据报
ARP初始化
1分钟编译FreeBSD内核
linux设备模型之uart驱动架构分析