通过高级网卡选项提升网络性能

手册/FAQ (463) 2015-10-31 13:27:10

      某些网卡选项能够帮助IT专业人员提升关键服务器的网络性能。 以太网是数据中心以及局域网中最主要的网络技术,但是其难以支撑当前经常用到的工作负载比如存储数据、实时音视频。以太网是为简单文件传输以及需要通过争用才能进行传输的小数据包而设计的。即使对带宽进行了大量的扩容,以太网在处理对时间敏感、不允许丢包的流量时效率仍旧不高。

      网卡有时被称为网络接口控制器,其技术在不断发展,包括了更多能够提升网络性能的特性,包括巨型帧以及卸载功能、包标记、缓冲区以及帧间距调整等等。但是在数据中心使用某些网卡特性时有一些注意事项。

有效利用CPU:巨型帧vs.卸载功能

      如果服务器性能低下,那么可能是由于网络负载较大。标准的以太网数据包大小为1542个字节,大多数文件被拆分为成百上千甚至上百万个数据包或者帧。这些小的数据包通过网络传输,和众多节点共享网络带宽,但是数据帧的发送与接收会带来CPU开销。

     大多数网卡支持巨型帧,这意味着能够处理高达9000字节的数据包或者帧。巨型帧在每个数据包中包括更多的数据,因此网络中需要传输的数据包数量就变小了。吞吐量提升意味着开销——数据包头与其他数据包内容——以及CPU开销减少了。

     巨型帧肯定存在缺点。管理员必须对网络中的所有节点进行配置才能支持巨型帧的传输。巨型帧并不是IEEE标准的一部分,因此不同的网卡配置的巨型帧大小有所不同。为了在节点之间高效传输巨型帧要做一些实验。更大的数据包可能会增加某些负载的延迟,因为其他节点要等更长的时间才能使用带宽,请求与发送被丢弃或者被破坏的数据包也需要花更长的时间。IT专业人员可能放弃巨型帧而使用具有LSO以及LRO功能的网卡。LSO和LRO允许CPU通过网卡传输更多数量的数据,而且基本上与巨型帧提供了相同的CPU性能。

通行能力:可调整的帧间距vs.以太网升级

      以太网在每发送一个数据包后都要等一段时间,这称之为帧间距。这为其他网络节点占用带宽并发送数据包提供了机会。帧间距等于发送96个数据位的时间。例如,1Gb以太网使用标准的0.096ms的帧间距,10Gb以太网的帧间距为0.0096ms。

      利用这一固定的数据包传输之间的间距并非总是有效而且在网络负载较大的情况下可能会降低网络性能。支持自适应帧间距的网卡能够基于网络负载动态调整帧间距,这有可能提升网络性能。除非接近网络带宽,否则调整帧间距通常不会提升网络性能。

      全方位的网络性能基准测试能够展现网络使用模式。如果以太网连接频繁达到带宽上限,那么升级到速度更快的以太网或者使用网卡绑定而非调整帧间距将能够提升网络性能。

限制CPU中断,提升CPU性能

      当数据包在网络中传输时,网卡会产生CPU中断。以太网速度越快,CPU中断的频率也就越高,CPU必须更多地关注网络驱动器以及其他处理数据包的软件。如果流量起伏不定,CPU性能可能会变得不稳定。支持人为中断节流的网卡能够减少CPU中断频率,将CPU从无限的网卡中断中解放出来,很可能能够提升CPU性能。中断限制越多并不一定越好。过高的中断限制可能会降低CPU的响应能力;CPU将需要花更长的时间来处理所有正在产生的中断。当高速小数据包近乎实时地到达时,限制中断将会降低性能。在多种模式下对网络以及CPU性能进行测试直到能够建立起充分的系统响应能力,产生平滑的CPU中断。还可以考虑支持TCP/IP卸载功能的网卡。这些网卡能够在线处理众多CPU密集型工作任务,同时减少对CPU的中断请求。

优先处理对时间敏感的数据类型:启用包标记

      对事件敏感的数据类型比如VoIP或者视频通常按照高优先级流量对待,但是网络对所有数据包一视同仁。采用数据包标记,被标记的数据包能够被分到操作系统设置的流量队列中,在处理其他低优先级的数据包之前先处理高优先级的VoIP以及视频数据包。包标记有助于QoS战略,而且是很多VLAN部署的一个必要组成部分。如果网络性能低于已定义的基准,可以对网卡进行调整,务必对服务器以及网卡进行基准测试后再对配置进行更改。这些推荐的网卡调整不会带来显著的性能提升,但是也不受预算的限制。随时间变化评估并观察网络性能,检查任何意想不到的后果,比如提升了某个工作负载性能却降低了其他工作负载的性能。

 

THE END