| 网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 |
![]() |
| Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道 |
在支持企业应用程序方面,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 服务器和应用程序服务器的缺陷。 网管u家u.bitsCN.com
测试综述 网管bitscn_com
两类 Web 服务测试 网管bitscn_com
有两类服务器可以用于 Web 服务:Web 服务器和应用程序服务器。在本文中,我将使用术语“Web 服务”来统一表示它们。Web 服务器 通过处理基于 HTTP 协议的请求来使网页显示在 Web 浏览器中。 网管论坛bbs_bitsCN_com
应用程序服务器 是广义上的服务器,通过各种协议,其中可能包括 HTTP 协议,来向客户机应用程序公开业务逻辑。相对于 Web 服务器,它提供了更为复杂和强大的功能,例如会话管理、负载平衡、消息传递、事务管理、安全,等等。在某种意义上,应用程序服务器是 Web 服务器的超集。
网管论坛bbs_bitsCN_com
我们为 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 服务测试。
网管u家www.bitscn.net
在对 2.5/2.6 内核的测试中,我们制定了更为可靠和完整的测试计划 (请参阅 参考资料,获得 SourceForge 上关于2.5 测试计划和实施计划的链接)。在计划中制定了适当的测试范围、测试方法和测试时间线。在综合测试、重点测试和用户仿真测试中,Web 服务器和应用程序服务器测试被广泛用作测试工具。
网管下载dl.bitscn.com
除了使用更多的服务器以外,我们还使用了一些不同的 Web 客户机测试工具,包括 WPT、Hammerhead、Httperf 和 Pagepoker,来模拟不同类型的用户环境。所有服务器和客户机工具执行的持续时间不同 (24 小时和 96 小时),不同于持续时间固定的对最新可用内核的测试。 网管有家www.bitscn.net
此外,测试硬件不局限于基于 Intel 的单处理器系统。测试在 1 路、4 路和 8 路 IBM xSeries 机器上和 64 位 IBM PowerPC 系统上进行。内核相关的缺陷在 Linux 内核缺陷追踪系统中公开。
2.6 内核的关键增强功能 网管u家www.bitscn.net
Web 服务在企业界扮演着重要的角色。为支持企业应用程序,2.6 内核有了显著的改进和变化。新硬件支持、软件支持和内部的内核改进给 2.6 内核带来了更好的扩展性和稳定性。2.6 内核在跨多个 CPU 和大内存时的高负载情形下性能比 2.4 更好。2.6 中将有益于企业应用程序的一些关键特性包括:
网管u家u.bitscn@com
新硬件支持 网管有家bitscn.net
Linux 支持范围广泛的硬件平台。2.6 内核支持新的体系结构,例如 64 位 PowerPC、64 位 AMD Opteron 和嵌入式处理器。 网管网www_bitscn_com
超线程
超线程是 Intel 的一项创新,是 2.6 内核所支持的主要的硬件提高。基本来说,超线程可以通过同步多线程技术(simultaneous multi-threading technology,SMT)在单个物理处理器上创建多个虚拟处理器;多个应用程序线程可以同时在一个处理器上运行。为充分利用这一特性,应用程序需要是多线程的。 网管有家www.bitscn.net
超线程给 Web 服务器和应用程序服务器带来了很多益处。它可以增加可处理的事务的数目,提供更快的服务器响应时间,并支持服务器处理更大的工作负载和更多的用户请求。当前,Intel Pentium 4 Xeon 处理器具有内置的超线程硬件。 网管网www_bitscn_com
[NextPage]
网管bitscn_com
NUMA(不一致内存访问,Non-Uniform Memory Access) 中国网管联盟bitsCN.com
NUMA 是为提高系统性能添加到 Linux 2.6 内核的另一个主要特性。在支持多处理器的传统模型中(对称多处理,或者说是 SMP),每个处理器对内存和 I/O 有同等的访问权限。对处理器总线的高争夺率成为性能瓶项。NUMA 体系结构可以在不增加处理器总线负载的情况下提高处理器速度。在 NUMA 系统中,每个处理器距某部分内存较近而距其他内存较远。处理器被安排在称为“节点”的较小的区域中。每个节点有其自己的处理器和内存,节点间可以互相通信。处理器访问本地节点的内存要比访问不同节点的内存快。尽量减少节点间通信可以提高系统的性能。 网管u家www.bitscn.net
为支持 NUMA 硬件,Linux 内核在多个范围的进行了一系列改进,包括调试器,多路 I/O,一个可以让用户可以了解用到的处理器和内存资源分配的用户级 API,和内部的内核 API 以使内核子系统了解 NUMA 拓扑。NEC Azusa、IBM x440 和 IBM NUMA-Q 是 NUMA 机器的例子。
扩展的设备支持 网管u家bitscn.net
在 2.6 内核中支持更多类型的设备。2.6 内核还将主识别号的限制从 255 增加到 4095,并且允许每种类型可以有多于 100 万个子设备。这将给高端的企业系统以足够的支持。 网管联盟bitsCN_com
线程改进 网管u家u.bitsCN.com
2.6 内核采用了新的线程库,Native POSIX Thread Library (NPTL)。这个新库基于 1:1 模型,完全符合 POSIX 标准。Red Hat 所作的测试表明,在一个老的 IA-32 双 450MHz PII Xeon 系统上,使用 NPTL 可以在 2.3 秒之内创建和销毁 100,000 个线程 (在任一时刻最多可以同时运行 50 个线程)。
NPTL 为多线程应用程序在 SMP 环境中带来了极大的性能提高。它尤其有益于超重量级的多线程企业级应用程序,例如 Java 应用程序、Web 服务器和应用程序服务器应用程序。 网管联盟bitsCN@com
2.6 内核中另一个对线程的改进是,可分配的 PID 数目从 32,000 增加到了 10 亿。这一线程变化改善了在重负载系统中应用程序的启动性能。由于允许的 PID 上限较低,2.4 内核有时会出现应用程序请求的 PID 编号过高的情况。
O(1) 调度程序
网管联盟bitsCN_com
0(1) 调度程序于 2002 年被接受并加入到官方的 Linux 2.5 内核树中。0(1) 调度程序通过改善大量进程的吞吐率提高了 Linux 的扩展性和整体上的性能,尤其是在大型的 SMP 上。0(1) 在任务和 CPU 数目巨大时可以很好地扩展,具有很强的“亲合力”,以避免任务在 CPU 之间反复移动。0(1) 调度程序还允许跨 CPU 的负载平衡和 NUMA-aware 负载平衡。 网管网www_bitscn_com
I/O 改进 网管u家bitscn.net
块 I/O 层 网管bitscn_com
2.6 内核中的块 I/O 层被重写,以提高内核的可扩展性和性能。2.4 中的全局 I/O 请求锁不再使用。在 2.6 中块 I/O 缓冲区(kiobuf)允许 I/O 请求可以比 PAGE_SIZE 大。出现的大部分问题是由对缓冲区头和 kiobuf 的使用引起的,在这个新的层中已经得以处理。完全重写了 I/O 调度程序。对 SCSI 的支持也有了重大的改进。 网管网www_bitscn_com
异步 I/O
异步 I/O 是在 2.6 内核中新出现的。它为 Web 服务器和数据库等企业应用程序的扩展提供了一个途径,而不必求助用于网络连接的复杂的内部池机制。 网管论坛bbs_bitsCN_com
其他改进 中国网管联盟bitsCN.com
除了这些改进以外,还有其他一些值得一提的变化和新特性。例如,2.6 内核提供了对一些新文件系统的支持,包括 JFS、XFS、NFS v4 和 Andrew File System (AFS)。新的网络协议和特性,例如流控制传输协议 (Stream Control Transmission Protocol, SCTP)、Internet Protocol Security (IPSec)、改进的 IPv6 支持和 IP Payload Compression (IPComp),给 Linux 2.6 内核用户提供了更好地网络安全和传输质量。 网管网www_bitscn_com
不是 2.6 内核带来的提高都可以应用于每一个企业应用程序。它们中有一些需要特定的硬件和软件。无论如何,这里列出的大部分提高都是全面的内核改进,将帮助 Linux 跨入企业门槛。 网管u家u.bitscn@com
测试基础设施 网管u家u.bitscn@com
在这一节,我将讨论 Web 服务测试是如何进行的,包括硬件环境、选择的 Web 服务器/应用程序服务器和 Web 测试工具,以及针对典型测试情形的测试策略。以下的讨论基于 2.6 内核。 网管论坛bbs_bitsCN_com
在 Linux 2.6 内核测试中使用了四个 Web 服务服务器。两个是 Web 服务器 (Apache 和 Jakarta-Tomcat),另外两个是应用程序服务器(WebSphere Application Server 和 Jboss)。 网管u家www.bitscn.net
Apache 是处于市场领导地位的 Web 服务器。Netcraft Web Server Survey 的调查结果显示,Internet 上超过 64% 的 Web 站点正在使用 Apache.它是一个开放源代码的项目。
网管联盟bitsCN@com
Jakarta-Tomcat 是一个开放源代码的 servlet 容器,带有经 Apache 许可的 JSP 环境。Jakarta-Tomcat 有一个内置的 Web 服务器,也可以在产品环境中与其他 Web 服务器一起使用。 网管u家www.bitscn.net
WebSphere Application Server 是一个企业级的应用程序服务器,用于动态电子商务应用程序。这个服务器的基础是 J2EE 技术和 Web Services.WebSphere Application Server 具有很高的性能,并提供了一个可以跨越大部分操作系统的高度可扩展的事务引擎。越来越多的 WebSphere 应用程序正在由传统的 Unix OS 向 Linux 迁移,因为这样可以通过更少的费用而获得近乎同样的性能。
中国网管论坛bbs.bitsCN.com
|
0
|
评论加载中…