为支持 NUMA 硬件,Linux 内核在多个范围的进行了一系列改进,包括调试器,多路 I/O,一个能够让用户能够了解用到的处理器和内存资源分配的用户级 API,和内部的内核 API 以使内核子系统了解 NUMA 拓扑。NEC Azusa、IBM x440 和 IBM NUMA-Q 是 NUMA 机器的例子。
扩展的设备支持
在 2.6 内核中支持更多类型的设备。2.6 内核还将主识别号的限制从 255 增加到 4095,并且允许每种类型能够有多于 100 万个子设备。这将给高端的企业系统以足够的支持。
线程改进
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 服务器和应用程式服务器应用程式。
2.6 内核中另一个对线程的改进是,可分配的 PID 数目从 32,000 增加到了 10 亿。这一线程变化改善了在重负载系统中应用程式的启动性能。由于允许的 PID 上限较低,2.4 内核有时会出现应用程式请求的 PID 编号过高的情况。
O(1) 调度程式
0(1) 调度程式于 2002 年被接受并加入到官方的 Linux 2.5 内核树中。0(1) 调度程式通过改善大量进程的吞吐率提高了 Linux 的扩展性和整体上的性能,尤其是在大型的 SMP 上。0(1) 在任务和 CPU 数目巨大时能够很好地扩展,具备很强的“亲合力”,以避免任务在 CPU 之间反复移动。0(1) 调度程式还允许跨 CPU 的负载平衡和 NUMA-aware 负载平衡。
I/O 改进
块 I/O 层
2.6 内核中的块 I/O 层被重写,以提高内核的可扩展性和性能。2.4 中的全局 I/O 请求锁不再使用。在 2.6 中块 I/O 缓冲区(kiobuf)允许 I/O 请求能够比 PAGE_SIZE 大。出现的大部分问题是由对缓冲区头和 kiobuf 的使用引起的,在这个新的层中已得以处理。完全重写了 I/O 调度程式。对 SCSI 的支持也有了重大的改进。
异步 I/O
异步 I/O 是在 2.6 内核中新出现的。他为 Web 服务器和数据库等企业应用程式的扩展提供了一个途径,而不必求助用于网络连接的复杂的内部池机制。
其他改进
除了这些改进以外,更有其他一些值得一提的变化和新特性。例如,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 内核用户提供了更好地网络安全和传输质量。
不是 2.6 内核带来的提高都能够应用于每一个企业应用程式。他们中有一些需要特定的硬件和软件。无论如何,这里列出的大部分提高都是全面的内核改进,将帮助 Linux 跨入企业门槛。
测试基础设施
在这一节,我将讨论 Web 服务测试是如何进行的,包括硬件环境、选择的 Web 服务器/应用程式服务器和 Web 测试工具,连同针对典型测试情形的测试策略。以下的讨论基于 2.6 内核。
Web 服务服务器
在 Linux 2.6 内核测试中使用了四个 Web 服务服务器。两个是 Web 服务器 (Apache 和 Jakarta-Tomcat),另外两个是应用程式服务器(WebSphere Application Server 和 Jboss)。
Apache 是处于市场领导地位的 Web 服务器。Netcraft Web Server Survey 的调查结果显示,Internet 上超过 64% 的 Web 站点正在使用 Apache。他是个开放源代码的项目。
Jakarta-Tomcat 是个开放源代码的 servlet 容器,带有经 Apache 许可的 JSP 环境。Jakarta-Tomcat 有一个内置的 Web 服务器,也能够在产品环境中和其他 Web 服务器一起使用。
WebSphere Application Server 是个企业级的应用程式服务器,用于动态电子商务应用程式。这个服务器的基础是 J2EE 技术和 Web Services。WebSphere Application Server 具备很高的性能,并提供了一个能够跨越大部分操作系统的高度可扩展的事务引擎。越来越多的 WebSphere 应用程式正在由传统的 Unix OS 向 Linux 迁移,因为这样能够通过更少的费用而获得近乎同样的性能。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




