原标题:互联网性能优化,互联网性能优化研究
导读:
程序员都有哪些网络性能优化方法降低用户跳出率的方法有很多,对于软件开发程序员来说,代码的优化和网络优化都是很有效的方法。今天,回龙观IT培训就从以下几个方面来了解一下,网络优化...
程序员都有哪些网络性能优化方法
降低用户跳出率的方法有很多,对于软件开发程序员来说,代码的优化和网络优化都是很有效的方法。今天,回龙观IT培训就从以下几个方面来了解一下,网络优化的具体操作内容。
1Gzip压缩
HTTP协议上的Gzip编码是一种用来改进WEB应用程序性能的技术,用来减少传输数据量大小,减少传输数据量大小有两个明显的好处:
可以减少流量消耗;
可以减少传输的时间。
2IP直连与HttpDns;
DNS解析的失败率占联网失败中很大一种,而且次域名解析一般需要几百毫秒。针对此,我们可以不用域名,才用IP直连省去DNS解析过程,节省这部分时间。
另外熟悉阿里云的小伙伴肯定知道HttpDns:HttpDNS基于Http协议的域名解析,替代了基于DNS协议向运营商LocalDNS发起解析请求的传统方式,可以避免LocalDNS造成的域名劫持和跨网访问问题,解决域名解析异常带来的困扰。
3图片处理
3.1图片下载
使用WebP格式;同样的照片,采用WebP格式可大幅节省流量,相对于JPG格式的图片,流量能节省将近25%到35%;相对于PNG格式的图片,流量可以节省将近80%。重要的是使用WebP之后图片质量也没有改变。
使用缩略图;App中需要加载的图片按需加载,列表中的图片根据需要的尺寸加载合适的缩略图即可,只有用户查看大图的时候才去加载原图。不仅节省流量,同时也能节省内存!之前使用某公司的图片存储服务在原图链接之后拼接宽高参数,根据参数的不同返回相应的图片。
3.2图片上传
图片(文件)的上传失败率比较高,不仅仅因为大文件,同时带宽、时延、稳定性等因素在此场景下的影响也更加明显;
避免整文件传输,采用分片传输;
根据网络类型以及传输过程中的变化动态的修改分片大小;
每个分片失败重传的机会。
备注:图片上传是一项看似简单、共性很多但实际上复杂、需要细分的工作。移动互联网的场景和有线的场景是有很多区别的,例如移动网络的质量/带宽经常会发生“跳变”,但有线网络却是“渐变”。
4协议层的优化
使用新的协议,Http协议有多个版本:0.9、1.0、1.1、2等。新版本的协议经过再次的优化,例如:
Http1.1版本引入了“持久连接”,多个请求被复用,无需重建TCP连接,而TCP连接在移动互联网的场景下成本很高,节省了时间与资源;
Http2引入了“多工”、头信息压缩、服务器推送等特性。
新的版本不仅可以节省资源,同样可以减少流量;我对Http2并没有实际接入经验,此处仅从原理进行分析。
网络连接如何优化
1避免 DNS瓶颈
如果网络是活动目录环境,那么一定会有一个前置的DNS服务器。最近看到不少企业都采用性能不怎么样的托管主机虚拟成多个服务器,并将DNS服务装入其中。之所以这样做,是因为很多人都认为DNS服务对系统资源的需求并不大,因此DNS服务器可以用很低的资源配置实现。
但实际上,DNS服务器的性能将很大程度的影响用户访问web站点时的响应速度。因此,一定要确保DNS服务器拥有足够的资源冗余量,防止出现域名解析瓶颈。
2使用 DNS转发
另一个优化互联网连接性能的方法是使用DNS转发器。这个方法的原理是,如果自己的DNS服务器无法完成解析工作,那么该网址解析请求就会被转发给外部的DNS服务器,完成解析工作。
一般来说,指定的外部 DNS服务器是ISP所提供的DNS服务器。这其中会出现一个潜在的问题。比如,ISP位于美国南卡罗来纳州,而这个ISP所使用的DNS服务器却位于法国。因此,如果真的希望能够优化网络连接性能,所选择的转发DNS服务器应该是距离自己是最近的。
如果不确定ISP所使用的DNS服务器的地理位置,推荐采用可视化的路由跟踪工具进行定位。比如免费的 Visual Trace Route工具。
如果通过工具定位,发现设定的DNS服务器的地理位置距离位置太远,就应该选择一个离自己较近的服务器。如果不知道周围有哪些DNS服务器,可以参考 OpenDNS。
3使用代理缓存
通过代理缓存也可以优化互联网接入性能。代理缓存能够带来两大好处。首先,通过缓存,网站和用户之间多了一层防护,更重要的是,代理缓存可以显著增加网络访问速度。
当用户输入Web网址时,该请求会被传送给理服务器。当代理服务器接收到网站发来的数据后,会转发给用户,同时也会保存一份备份在自己的存储空间内。当公司网络的另一个用户访问该网站,代理服务器将直接将存储在自身空间的数据发送给用户。缓存中的内容可以立即传输给用户,因此用户会感觉到网络速度飞快。同时这种方式也会降低接入带宽的使用。
如果打算弄一个代理服务,那么我告诉好消息,微软的Forefront TMG可以很方便的配置代理缓存。
4保护无线接入点的安全
通过确保无线接入点的安全,也可以优化互联网接入性能。这听起来有点可笑,如果网络中的无线接入点安全,那么任何人都能管理企业级的网络。但是实际上,大量的中小企业网络中的无线接入点都是没有安全防范的。
从互联网接入优化的角度讲,没有安全防范的无线接入点,会允许任何人通过企业的网络接入互联网。可能隔壁公司的员工会通过这个未防护的接入点,占用企业大量带宽。
5屏蔽流媒体网站
防止带宽被滥用,是优化互联网接入性能的另一种方法。屏蔽大部分与工作内容毫无关系的视频网站就是防止带宽被滥用的实例。比如,企业员工喜欢在YouTube上观看甚至下载视频,那么就要屏蔽该网站,防止企业带宽被此类数据过多占用。