引言
计算机用户及管理员是个缺乏耐心的群体。我们不想有任何的等待。如果需要花几秒钟加载网页、下载文件或传送消息,我们就会焦虑不安。而流失的几秒钟加起来积少成多,会变成流失数分钟、数小时乃至数天,而在如今的商业环境下,没人浪费得起这样的时间。
这篇文章我们不仅探讨了网络性能的真正含义、实际性能与感知性能之间的差异,导致网络性能低下的一些可能原因,还有改动Windows软件设置的几个提示,帮助提升网络性能,而且我们还将更深入一点地探讨配置变更,可以用来改善性能的第三方工具,以及Windows操作系统中自带的一些技术(包括最新版本中你可能没有意识到的一些新技术),这些技术旨在帮助你优化网络性能。
网络性能功能的演进
自计算机网络和通信的早期阶段以来,我们已取得了长足进展。第一批调制解调器的速率只有每秒75比特至300比特;十年前,1.5mbps T-1线路似乎快若闪电了。而如今,我们的互联网连接速率可以高达每秒吉比特(对不擅长数学的人来说,这个速率相当于每秒1073741824比特)。
第一代的以太网问世于上世纪80年代,其数据速率为10mbps――这比运行速率为4mbps的首批令牌环网络有了很大的改进。作为另一种早期的本地网络技术,ARCNET的速度还要慢,只有2.5mbps。与之形成对照的是如今的100gbps以太网,1gbps俨然就是企业部署环境下的标准,10gbps也并不罕见。
然而,网络性能绝不仅仅取决于连接的原始带宽。在电子通信领域,性能方面的度量通常包括下列方面:
•带宽:连接能够达到的最大每秒比特速率,这是我们通常赋予连接速度的标签。
•吞吐量:传送数据的实际速率,这个度量指标可能、而且常常远低于带宽指标。
•时延:发送数据与目的地用户收到数据之间的延迟,这是由距离/传输时间引起的(因而,由于从地球传输到轨道再传回地球,卫星通信总是存在时延偏高的问题)。时延还会因沿路的中间站处理信号所需的时间而变长。
性能还受到传输错误率的影响。当比特抵达目的地但出现损坏后,就得重新发送,这降低了整体性能。众多干扰会引起错误,比如电磁干扰、附近线缆引起的串音、信号失真、随机噪声和同步问题等。
实际性能与感知性能
上述几个性能因素与信号本身、信号传输所通过的线缆(或电波)以及直接参与信号传输和接收(如果是中间节点,则重新传输或中继信号)的硬件有关。有许多办法可以通过改动硬件来提升性能,比如为服务器添加更多的网卡,从而分摊网络流量负载,将任何集线器换成交换机,或者将简单的交换机换成更智能化的交换机,升级线缆,以及更有效地保护线缆以屏蔽干扰等等。
操作系统和应用软件与此毫无关系。然而,网络的感知性能(perceived performance)可能会受到数据比特在离开发送端计算机之前及/或抵达目的地计算机之后所出现情况的重大影响。因而,软件在提升感知网络性能方面可以发挥重大的作用。
准确查明问题
网络性能似乎偏低时,第一步就是查明问题出在哪里。问题果真出在低速网络,还是出在某一个计算机系统?如果许多计算机上普遍存在问题,可以接下来查明性能降低出现在本地网络里面,还是这是互联网连接存在的问题?换句话说,是内部计算机的通信速度较慢,还是仅仅是基于互联网的传输速率较慢?如果互联网是罪魁祸首,之后你得查明问题出在内部部署型设备上、互联网提供商,还是出在你所连接的特定网站或服务上?
很显然,问题的根源将决定对此采取一些措施是不是在你的范围之内;如果是,又该如何处理。你可以使用一些诊断工具来查明一些问题,比如广域网连接上的时延或内部服务器存在的问题。商用或免费网络分析工具可以帮助你准确诊断速度偏慢的根源。
在一些情况下,贵企业的使用负载可能对你拥有的带宽数量来说不堪重负。这意味着,你需要考虑升级内部网络基础设施,或者向ISP购买带宽更高的服务套餐(或者甚至双管齐下)。不过在许多情况下,你有足够的内外带宽,增添更多的带宽只会浪费钱财,解决不了实际问题。
基于软件的性能提升
你在Windows系统上为了提升感知网络性能而能做的许多改动适用于所有版本的Windows操作系统和平台;另一些改动则依赖较新操作系统内置的技术。我们先介绍比较笼统的性能提升方法。
移除不需要的网络协议
Windows计算机支持许多不同的网络协议;其中许多协议某个时候在某个地方被启用了,尽管你从不使用它们,或者只是偶尔用一下,之后不再使用。可是那些不需要的协议在占用系统资源,生成毫无用处的网络流量,因而降低了你确实使用的协议的性能。
移除不需要的多余协议可以尽量减少需要议定的网络绑定数量,减少网络流量,并腾出系统资源。最棒的是,做起来很简单。
只要通过Change adapter settings(变更适配器设置)选项(网络和共享中心 | 任务),就可以访问你所安装的每只网卡的适配器设置。鼠标右击你想改动的连接,选择Properties(属性),向下滚动,即可看到哪些网络协议已被启用,不要勾选你不需要的协议旁边的方框,点击Uninstall(卸载),即可完全卸载协议。
请注意:相比随机安装众多之前流行,但不再经常使用的协议(比如PX/SPX、NetBEUI和AppleTalk)的较旧操作系统,这在较新操作系统上不太可能是个问题。别禁用下列协议(除非你知道自己在干什么,明白它会关闭网络的功能):
•Internet Protocol (TCP/IP)
•面向微软网络的客户机
•面向微软网络的文件和打印机共享
改动网络适配器驱动程序软件
如果优化网卡的驱动程序,可以提升网络适配器的感知性能。确保驱动程序软件是最新版本,为此只要访问厂商的官方网站,获取最新版本。还可以改动驱动程序的设置,增加可用于入站和出站数据包缓冲的内存数量,另外还可以改动缓冲区数目的设置。更大的缓冲区空间有助于尽量减少网络流量的突增引起拥塞而导致的性能降低。
下面是具体办法:在网络和共享中心中的Change adapter settings(变更适配器设置)选项中,鼠标右击你想改动的连接,选择Properties(属性),然后选择Network(网络)选项卡,最后选择Configure(配置)。现在,点击Advanced(高级)选项卡。这会显示可以改动的属性。有助于提升性能的一些属性包括如下:
•如果性能比节电还要重要,你可以关闭“关闭网卡以便节电”的电源管理功能。虽然关闭网卡确实可以节电,但是再次启动需要时间,而这会降低性能。这在服务器上来得尤为明显。
•你应该确保网络速度、双工和流量控制等选项都已设置好,以便与系统连接的交换机相一致。默认的设置可能是“自动”,这似乎是最合理的选择,但是这可能会导致进行自动同步时性能下降。
•如果你的服务器有大量内存,可以将Max Coalesce Buffers(最大合并缓冲区)、Max Transmit/Send Descriptors and Buffers(最大传输/发送描述符和缓冲区)以及Max Receive Buffers(最大接收缓冲区)等设置的值设得尽可能大些,以提升感知网络性能。
•启用网络卸载功能(假设你的网卡支持该功能),减轻处理器的负载,这有望提升总体系统性能和感知网络性能。
•禁用Wake On LAN(以太网唤醒)功能。
#p#
网络密集型任务和应用程序
提升感知性能有时很简单,就像把通过网络备份用户数据等任务的时间表改到不与试图完成工作的用户争夺带宽资源的时段。自动更新是另一项计划任务,要是不安排在非高峰时段执行,可能会降低其他各方面的性能。告诉用户将非高峰网络使用安排在带宽并不紧缺的时段。
另外要告诉用户节省带宽资源。与水电一样,网络带宽也是一种有限的资源,用户意识培训可以让员工在向团队的每个成员发送大容量附件的邮件或者运行并非完成工作所必需的高带宽应用程序之前,停下来好想一想。考虑制定政策以禁止一些活动,比如通过网络或互联网玩多用户游戏,在休息或午饭时间从Netflix等网站或服务观看流视频,因为这类活动会降低仍在那个时段工作的其他用户的网络性能。
部署新的应用程序时,要留意它们对网络性能的潜在影响。视频会议等高带宽技术会耗用大量的网络带宽,并且干扰其他应用程序和文件传输。
通常过多地使用网络带宽还归因于恶意软件在作崇,或者甚至表明你的一些系统受到了感染,被变成了僵尸网络的“僵尸机”,所以务必要给所有系统打上补丁,并经常运行定义文件保持最新版本的反病毒和反恶意软件工具。监控网络使用情况,并研究分析任何可疑的过多使用带宽的现象。
服务质量(QoS)
最近媒体对于互联网提供商优先处理某些类型的网络流量这个问题颇有争议。担心的一大问题是,这种做法会降低其他服务的性能。我们暂且抛开网络中立的优缺点不说,基本概念是,许多公司确实可以借鉴一些做法,运用到自己的内部网络上,从而提升感知网络性能。
服务质量技术让你能够优先处理流量,将更多的带宽分配给最重要的应用程序或者受时延影响最大的应用程序,并限制不大重要或对时延不大敏感的应用程序。这种类型的带宽管理又叫流量整形或数据包整形,让你很容易阻止或限制通常个人性质的网络活动,同时确保关键的业务应用程序获得所需的带宽。
服务质量可以在现代路由器和交换机上配置,也可以在服务器上配置。微软在Windows 2000中引入了服务质量机制;所有得到支持的Windows Server版本都包含服务质量,这些年来这项功能已得到了改进。
Windows Server 2012/2012 R2采用了基于策略的服务质量,整合到组策略里面,根据应用程序、用户和计算机来提供带宽控制。你可以用许多方法来限制出站流量:发送应用程序和目录路径、源和目的地IP地址、源和目的地端口和端口范围,按照协议(TCP或UDP),或者按照活动目录中定义的特定的用户组或计算机组。
服务质量策略让你可以指定DSCP值和限制速率。差分服务代码点(DSCP)是IP数据包中的一个六位字段,让你可以将服务级别分配给流量。DSCP值的范围在0到63之间。限制速率让你可以限制流量的发送速率,用每秒千字节或兆字节来指定。有个向导可以引导你完成创建服务质量策略的过程。你可以在该网站上的这篇文章(http://www.windowsnetworking.com/articles-tutorials/windows-server-2012/QoS-Windows-Server-2012-Part1.html)中找到关于Server 2012服务质量的更详细的信息。
就基于策略的服务质量而言,你可以轻松运用的优先处理的例子包括:优先处理业务部门(LoB)应用程序,或借助基于URL的策略,优先处理HTTP服务器应用程序。你可以在这里(https://technet.microsoft.com/en-us/library/jj159288.aspx)的TechNet库中找到这两种场景的逐步操作指示。
后台智能传输服务(BITS)
会引起感知网络性能出现下降的另一个因素是,当大文件在后台通过网络传输时,网络的可用带宽出现超载。
目前支持的Windows版本含有一项名为BITS的技术,该技术最早出现在Windows XP中。BITS能控制文件传输流,因而防止干扰其他网络应用程序的性能。BITS之所以称为“智能”,是因为它可以使用计算机的网卡来监控和测量在某个时段可用的网络带宽量,然后相应地提高或降低文件传输速率,从而最充分地利用带宽。
BITS可以用来为文件传输任务设定优先级,那样可以对同时传输进行排序,从而确保最重要的传输获得了比不大重要的传输更高的优先级。应用程序可以赋予一个前台优先级和三个后台优先级。如果两项传输任务有同样的优先级,它们将共享分配给该优先级的传输时间。BITS会安排每项任务使用某个时段,然后在下一个任务被允许传输时就暂停,依次类推。可以为单个文件设定属性,但是下载任务可能有多个文件(上传仅限于一个文件)。BITS被Windows Updates所使用。
你可以通过组策略,对BITS所使用的传输速率设定带宽限制,还可以设定你想限制带宽的时间和日期。这可以通过下列组策略节点来完成:
Computer Configuration | Administrative Templates | Network | Background Intelligent Transfer Service (BITS)
BITS的一些可配置设置包括如下:
•非活动BITS任务的超时
•限制BITS后台传输的最大网络带宽
•建立工作时间表,限制用于BITS带宽传输的最大网络带宽
•限制BITS任务的最长下载时间
•限制IBTS任务中允许的最多文件数量
•限制该计算机中的BITS任务最大数量
•限制每个用户的BITS任务最大数量
•限制可添加到BITS任务中文件的最大范围数量
第三方数据包整形工具
如果Windows的内置机制不足以满足你的用途,还有许多第三方解决方案可以提供数据包/流量整形功能。其中一些是软件程序,另一些被包装成网络设备。甚至还有基于云的流量整形工具。一些例子包括如下:
NetEqualizer是一种硬件设备,可用来识别网络上耗用带宽最多的用户,检测哪种流量会流向那些用户,并且在必要时限制耗用过多带宽的那些用户的连接,以缓解网络拥塞现象。它对入站流量和出站流量都能执行流量整形功能,易于使用,因为它不需要创建和管理策略。
Exinda Network Orchestrator是一种软件解决方案,目的在于分析网络流量,并进行优化,以确保最佳的感知性能,可深入了解每个应用程序在如何耗用带宽,还能保证最重要的应用程序拥有高效运行所需的带宽。可以设定策略,以控制哪些用户、哪些应用程序可以耗用网络上的带宽。
Cisco Meraki可执行深层数据包检查机制,识别应用程序,让你能够准确查明哪些应用程序在耗用更多的网络带宽,并实施应用程序流量整形策略,以控制其使用,还可与基于云的应用程序特征数据库协同运行。
结束语
在这篇文章中我们探讨了网络性能的真正含义、实际性能与感知性能之间的差异,导致网络性能低下的一些可能原因,还有改动Windows软件设置的几个提示,帮助提升网络性能。我们还探讨了配置变更,可以改善性能的第三方工具,以及Windows操作系统中自带的一些技术(包括最新版本中你可能没有意识到的一些新技术),这些技术旨在帮助你优化网络性能。
网络性能的高低关系到是出色的用户体验还是糟糕的用户体验,而实际带宽不如感知性能来得重要。好消息就是,你可以采取一些措施,提升网络上的感知性能。在这篇文章中,我们介绍了其中几个措施,以便你开始确保网络在最高效率下运行。