采用 TOE技术所实现的多数性能收益可通过NIC中的校验和、分片卸载以及中断缩减机制来获取,而其余功能只执行基本的 socket管理和进程唤醒,因此不需要这种技术。如果 TOE解决方案不断改进, 并且与软件网络栈相比能够显示出巨大优势,则TOE技术的采用量可能会增加。
目前,只有商业公司在开发 TOE引擎, 因此这类解决方案的实现随着厂商的不同而各异。厂商也许能够减少或解决TOE实现和部署中的难题, 并改变那些不愿意承认 TOE是网络性能改进可行方案的怀疑者的想法。
三、 示例分析
下面给出该示例分析所使用的基准测试的结果,并展示目前为止所讨论的各种性能增强特性的累积性能改进。某些基准测试捕获所有特性的累积收益,而另一些则捕获特定工作负荷的特定收益。
1、 NetBench
下图所示为 Linux内核与 Samba的各种增强和调优机制给 NetBench基准程序吞吐率带来的性能改进。这些测试的硬件执行环境是由 4个1.5GHz P4处理器、 4个千兆位以太网适配器、 2GB内存以及 14个15krpm SCSI磁盘构成的 Pentium 4系统。 所有测试都使用 SUSE 8.0版本。 每次后续测试都会包含一个新的内核、 调优或 Samba变化。所有测试都使用Ziff-Davis的NetBench Enterprise Disk Suite基准程序 。
下面描述了上图中各列的名称:
基准配置(Baseline)。代表了 SUSE Linux企业级服务器 8.0版本(SUSE SLES 8)的一个干净安装,未对性能配置进行任何修改。data=writeback。 对一个 Ext3默认挂接选项的配置加以改动,将/data文件系统(提供了 Samba共享)从ordered改为writeback。这极大改进了文件系统在元数据密集的工作负荷下的性能,例如本例。smblog=1。Samba日志级别从 2改为 1,以减少对 Samba日志文件的磁盘 I/O操作。级别1足以将关键错误记入日志中。SendFile/Zerocopy。 该补丁使得 Samba对于客户读请求使用 SendFile机制。该补丁与 Linux的Zerocopy技术(最早出现于 2.4.4版本中)结合使用,可以消除两种高开销的内存复制操作。O(1)调度器。 这个小改进有