您好,我是仙人掌热点。网站运营的任何时候,网站访问速度都是至关重要的部分,它是网站友好体验中最基本的一项,如果访问体验都令人不满意,那么后期所做的营销推广模式都有可能徒劳无功,因为网络中客户的选择成本很低,加上普遍客户的耐心都不高,页面访问超过6秒客户就会选择离开,这对于一些流量本来就不高的企业网站来说无疑是雪上加霜。网站访问速度既然如此重要,今天笔者也要跟大家分享几个关于提升速度体验的方法,虽然网上有很多类似的文章和观点,但是大多数都是网站内部去解析,今天笔者要从服务器方面聊聊如何优化网站服务器提升网站访问速度。
大多数网站运营优化人员都知道通过页面优化来提升访问速度,当你已经完成了优化操作之后,发现没有什么大的改善,此时你就应该去思考是不是其它因素导致访问速度缓慢。比如:长期使用的服务器性能下降所致,为了保障业务不受影响,你或许应该对正在使用的服务器进行升级和优化了。
一、升级正在使用中的服务器
进行服务器升级工作之前,要考虑多方面的问题,是升级已有的服务器还是购置新的服务器设备须根据实际情况抉择。首先来说升级现有的服务器设备,一般来说网站运营到后期随着业务不断增加,多平台应用的开发对于服务器性能的要求也逐步提升,长而久之服务器遇到性能瓶颈也是情理之中的事情,对于这种情况,我们可以通过升级服务器(例如增加硬件设备或网络带宽)等相关配置来满足不断扩大的业务需求,那么服务器性能瓶颈问题就可以得到解决。再来说说购置新的服务器设备,也许有人会问为什么要重新购置呢,升级已有的服务器不可以吗?这里笔者也当然想替大家节省一笔开支,但是根本问题在于大多数企业选购服务器时并不合理,加上网站建设之初为节约成本而选择了扩展性较差的服务器,导致即便是我们对现有的服务器进行升级,其性能提升的强度依然不够。此时,就需要重新购置服务器配合了,对于服务器的购置也有很多技巧,这里简单的做个推荐,如果用户群体是国内的建议选择国内知名的服务器供应商,若客户群体是遍布全球,大家可以选择香港服务器或美国服务器,除此之外,更重要的是要根据自身行业的特性做出合理的选择。
二、优化正在使用的服务器
不管是完成升级后的服务器,还是新购置的服务器,我们都要对其进行优化,从而提升服务器的性能以及利用率。下面从四个方面跟大家谈谈如何优化服务器:
要点一:尽可能的减少HTTP请求数
从客户访问网站页面到整个页面内容完全展现出来,这其中要花费较多的时间来下载各种Scripts、CSS样式表、Flash以及图片,而每一类下载都相当于一次HTTP请求,这样的请求越多网站被完全加载出来所花的时间会越长,意味着客户端的访问会很慢,那么此时就需要尽可能的减少HTTP请求数,通常我们可以直接把css和js写入到页面中,避免了外部的调用;或者我们可以把CSS文件和JS文件分来,在后台再进行合并,这样客户端浏览器相当于一次请求。总而言之,减少HTTP请求数我们可以通过减少外部各类文件的数量调用次数来达到其目的。
要点二:降低DNS查询时间
众所周知网络服务器端的域名和IP地址是相互对应的,当客户端发出请求时,计算机还需要通过域名和IP地址的相互转换来判断,而这个转换工作便是域名解析DNS,通常DNS的查询需要10~20毫秒时间,客户端浏览器也只会等待DNS查询结束之后才会加载此域名下的内容。因此,我们要加快页面的访问速度,就可以从降低DNS查询时间方面去做改善。
要点三:启用服务器Gzip压缩功能
对于大中型网站来说,页面的内容多且比较多样化,单个页面的大小可能是几百K以上了,客户端访问的时候下载会比较慢,此时我们可以采用服务器Gzip页面压缩功能,可以将一个大小为100K的页面文件压缩成25K以下,这样就可以减少网络传输的数量从而提高客户端访问速度。一般服务器都是可以使用Gzip压缩功能的,并且能够针对JS文件、CSS文件和Html进行压缩,多方面去进行优化网站访问速度。
要点四:推荐大中型网站使用CDN加速工具
CDN加速是目前大型网站普遍使用的页面加速方式,它对于网站优化几乎没有影响的,基本原理是将网站镜像备份到很多服务器节点上,使服务器节点周围的用户访问速度更快,从而提升客户端高速访问网站的体验;但是并不是所有的网站都适合使用CDN加速,一般对于小规模站点个人站的话,就不需要使用CDN加速,毕竟从长期来看这可是一笔不小的开支;建议图片站以及多媒体站点可使用CDN加速。
至此,以上为大家讲到了可以通过优化和升级服务器两个方面提升网站访问速度,如果你的网站目前的访问体验不佳,可以尝试进行以上操作,相信能够帮助大家改善此类问题。
1、减少http的请求数量
a.例如在css中设置background背景图,我们可以将多个背景图合为一个图,因为每一张图片意味着一次http请求,而使用单个背景图(精灵图)通过background-position来设置背景定位,可以一定程度上减少http的请求。
2、CDN(Content Delivery Network)网络加速
现在国内做CDN加速业务的公司很多,简单讲就是将你的图片、视频等扩散到CDN网络所能到达之处,让用户访问时能就近下载到所需的文件,从而达到网络提速的目的,同时也能减轻网站的负载。
3、缓存
对于高频率访问的网页文件,我们可以在apache或nginx服务器中设置缓存,在某一时间段内可以将重复的数据缓存下来重复使用,比如第一个用户访问过后,我们可以将请求的数据缓存下来,当后面的用户访问时,我们可以减少对服务器的请求,对于相同的数据没必要再次请求,直接将缓存下来的数据直接返回给用户即可。
4、服务器开启gzip压缩
对于要返回到客户端的数据,我们可以将数据压缩后再发送,这样数据量会相应的减少很多,传输速度会更快,传输到客户端再解压即可,我们可以在apache或nginx中设置压缩,但是这样会略微给服务器增加负担。
5、css文件放在文件头部
可以尽早的显示网页的样式,从而不影响网页的美感,特别是对于网速慢的用户来说是很点重要的。
6、js文件放在文件尾部
js文件执行相对而言略慢,而放在文件头部会一定长度影响网页主体的显示时间,同时将js文件放在后面执行,也可避免一些可能出现的错误,因为js文件和主体文件的内容可能存在依赖关系。
7、避免使用CSS脚本(CSS Expressions)
有时为了要css的参数动态改变,可能会采用css expression来实现,但这样做得不偿失,会使用户端浏览器负担明显加重,所以不建议这样做,如果需要改变,可以使用Javascript脚本去实现。
8、css、javascript改由外部调用
如果css、js内容比较庞大,尽量不要写到同1个页面中去,改由外部载入比较妥当,因为浏览器本身会对css、js文件进行缓存。
9、压缩Javascript、CSS代码
一般js、css文件中存在大量的空格、换行、注释,这些利于阅读,如果能够压缩掉,将会很有利于网络传输。这方面的工具也有很多,一般可以保留开发版本,一般压缩率能达到50%以上,可以一定程度减少文件的数据量。
10、Ajax缓存
什么样的AJAX请求可以被缓存?
POST的请求,是不可以在客户端缓存的,每次请求都需要发送给服务器进行处理,每次都会返回状态码200。
GET的请求,是可以(默认)在客户端进行缓存的,除非指定了不同的地址,否则同一个地址的AJAX请求,不会重复在服务器执行,而是返回304。
Ajax请求缓存的使用
在进行Ajax请求的时候,可以根据需要尽可能使用get方法,这样可以使用客户端的缓存,提高请求速度。
1、域名的解析速度 当用户访问你的网址时,首先会连接域名解析的服务商,服务商会返回IP地址,这里会存在延迟,当然,用户短时间内再次访问时由于缓存这里的延迟可以忽略不计。 优化办法:尽量使用智能解析服务商,比如国内的dnspod、cloudxns等,尽量用你目标群体国家的服务商。
2、连接你服务器IP地址的延迟 域名服务商返回IP地址后,客户再连接IP地址会存在延迟。 优化办法:使用离你目标客户延迟小的服务器,比如访问你网站的大部分是国人,那么可以选择国内vps或者香港vps。
3、网站服务器的响应速度 客户通过IP地址链接到服务器并发出请求后,服务器会处理请求,返回页面数据,这里存在响应时间。主要由服务器运算速度的影响。 优化方法:购买运算性能好的vps服务器,比如高性能cpu服务器,多核等。
4、页面数据的传输时间 服务器返回的页面数据传输到客户的时间主要受3个因素的影响:服务器上传带宽、客户下行带宽、网页总体内容的大小
优化方法:一是选择上传带宽大的vps服务器,并且用bbr或者锐速给vps服务器加速,再就是优化网页内容,网页代码,压缩图片等等。