超实用突破云网络延迟障碍技巧

云计算
网络的物理限制以及地理距离都会在不同程度上造成服务器至客户端设备的数据传输延迟。把你的应用程序从内部硬件设备上迁至云计算以获得按需可扩展的优势,但这只是解决了一些扩展和性能方面的问题。

网络的物理限制以及地理距离都会在不同程度上造成服务器至客户端设备的数据传输延迟。把你的应用程序从内部硬件设备上迁至云计算以获得按需可扩展的优势,但这只是解决了一些扩展和性能方面的问题。网络延迟、数据包丢弃以及其他的网络问题都会对最终用户使用体验产生不利的影响。

物理距离是产生延迟问题的一个决定性的因素,它主要会影响从一台设备发送数据包到另一台设备所需的往返时间。例如,从美国东海岸发送数据至西海岸就可能会产生40至50毫秒的延迟。而同一数据包从北美发送至欧洲的往返时间约为80至90毫秒——几乎为前者的两倍。而跨太平洋的数据传输则需要花费更长的时间,其延迟时间要超过100毫秒。

虽然我们无法违反基本的物理规律,但是通过使用内容交付网络(CDN)、TCP优化以及对等协议等措施,我们就能够消除一些对应用程序性能造成不利影响的因素。

使用CDN复制静态内容

诸如文字、图像以及音频文件这样的静态内容通常都是网站和应用程序的重要组合部分。这是因为这一类内容根据定义不会发生频繁的变化,所以我们可以利用复制技术来减少在用户请求内容和接收到内容之间所需的时间。CDN是由地理上分布的服务器组成的,在这些服务器上保存着可供他们客户使用的内容。当一个用户请求内容服务时,这个请求就会被分配至距离用户最近的服务器。例如,一名在芝加哥的用户就可能会从位于纽约的一台服务器上接收到所请求的内容,而在阿姆斯特丹请求同一内容的一名用户就可能从一台位于柏林的服务器上接收内容。

CDN管理着跨所属服务器上内容数据的复制。你只需上传内容至一个站点,而CDN就会根据需要分发更新内容至其他的服务器。

针对动态内容优化TCP协议

通常情况下,一个应用程序将响应用户的服务请求而生成动态内容。例如,一个用户可能会请求应用程序生成一个满足某些标准的交易列表。这里,复制静态内容就显得无能为力了。

当涉及生成动态内容的应用程序时,我们就会考虑优化传输控制协议(TCP)了。TCP协议是大多数需要可靠通讯通道支持的应用程序所使用的协议。TCP协议可确保数据包被发送至它们的目标设备,并以正确的顺序组成,否则就会生成错误提示。

网络是易受到外界干扰的( 例如伴有噪声干扰的信号),和具有内部局限性的(如无法处理高数据流量应用的低容量缓存)。这类问题都会引起TCP数据包发生掉包事件的。

接收数据包的设备必须确保数据的完整性和准确性,必须建立相应的机制来跟踪已接收到哪些数据包以及仍在等待哪些数据包。在经过了一段足够长的等待时间之后,这个设备就会发送一个请求,要求重新发送本应已接收但实际未接收到的数据包。TCP协议中有大量的参数是用于确定客户端将等待待接收数据包多长的时间以及当发生数据包丢失时应重新发送多少个数据包的。优化技术可调整这些参数以提高性能。

优化措施可以被内置到操作系统中,例如Windows操作系统,单机应用程序也可用于帮助调试TCP参数。当在不同设备之间传输大文件时,还可以使用专门的传输应用程序。这些应用程序可替代TCP协议或调整TCP协议中的参数,使之更利于文件传输。当你在一组已知的设备之间进行数据传输或应用程序已准备就绪可供任何用户使用时,这些都是可行的解决方案。

拥有全球网络的供应商们能够对数据中心之间的数据流量进行优化。这就能够让客户享受到TCP优化的好处而无需自行实施TCP优化。

在网络服务供应商之间制定协议

在技术层面上,数据在网络之间进行传输是很容易实现的,但是在业务层面,网络服务供应商之间的协议将决定在网络之间传输什么样的数据。供应商们维护着一组协议,以允许在他们网络之间进行数据交换,有时他们会为这种功能而互相收取费用。这些协议通常被称为对等协议,它们能够造成网络数据传输的延迟,因为由于某些供应商之间对等的限制而不得不通过更慢、更低效的途径进行数据传输。

责任编辑:王程程 来源: TechTarget中国
相关推荐

2012-09-07 10:36:49

2013-01-10 10:18:59

云BI云分析大数据

2022-07-29 09:01:20

Chrome试源代码调试技巧

2020-10-26 08:06:59

网络技巧CSS

2011-03-16 10:12:32

2009-10-30 09:59:09

Hyper-V应用技巧

2019-08-16 09:22:38

技术调试互联网

2015-07-14 09:29:44

图标设计

2024-02-01 18:06:04

Python编程系统

2021-03-12 10:01:33

Sudo命令Linux

2013-01-31 10:02:17

云安全私有云私有云应用网络

2020-07-13 07:48:29

浏览器谷歌搜索

2022-04-29 08:15:40

Python技巧Max

2022-12-07 10:21:19

谷歌搜索技巧

2022-07-15 14:54:00

DockerLinux技巧

2015-12-21 10:53:38

网络边界安全信息安全策略

2023-10-16 11:30:59

2024-04-29 09:02:46

Vue页面动画样式

2020-08-31 11:40:54

VimLinux字符

2017-11-13 15:16:56

GitHub代码仓库
点赞
收藏

51CTO技术栈公众号