服务器的性能会在不断使用的过程中而略有下降。当你开始注意到服务器的性能有所下降或者看到市面上出现了运行速度超快的新型服务器技术,你或许就会想到服务器优化。对基础架构来一次全面大改动或者进行一次升级服务也需要一笔资金的投入。在决定优化或升级网站服务器之前,必须考虑是否有必要这么做。

当你的服务器呈现一些迹象时,比如性能明显下降、遇到数据瓶颈或者其他一些问题,则说明有必要去优化一下正在使用的服务器。另一个需要了解的指标是服务器的利用率。从理论上来说,一个服务器的最大利用率可以达到100%。即使你的服务器利用率达不到100%,也要保证至少达到70%。只有达到70%或以上的利用率才能保证服务器得到最大限度的利用。如果你的服务器运行时的利用率只在50%左右,添加更多的服务器只是对资源的巨大浪费。一旦确定要优化网站服务器性能来提高网站访问速度,有几个有效的方法可以用来参考。

一、最大限度的减少HTTP的请求数

减少HTTP的请求数也是符合SEO原则的。大部分的HTTP请求都是前段的,用户要花费很多时间来下载图片、各种Scripts、Flash和CSS样式表等。或许基于CSS结构共用等方面的考虑,会将CSS,JS文件拆分为多个。这里会用几个例子来说明怎样可以尽可能的减少HTTP的请求数。

Yahoo当时的做法是建议直接把CSS和JS写在页面文件里,避免了外部引用。因为yahoo的首页访问量极大,不用外部引用就直接减少了两个请求数。国内的很多门户网站都是采用这种方法来尽可能的减少HTTP的请求数。对于阿里巴巴来说,他们当时则选择了分开开发CSS和JS,然后在后台进行合并。合并以后对于浏览器来说只是一个请求,但是在开发时可以被还原成多个,这样做的一个主要目的是方便管理和重复引用。

总的来说,减少HTTP请求数量的主要方式就是修改网站代码,减少外部图片、JS、CSS等文件数量。可以手动合并多个JavaSript、CSS文件。

二、使用内部分发网络

内部分发网络,也即Content Delivery Network (CDN), 对SEO并没有太大的影响。但是现在稍微大一点的网站都会采用CDN加速,用来提升用户端的速度体验,以此来起到对网站的正向作用。顾名思义,CDN加速就是将网站的镜像服务备份到多个服务器节点来提高该服务器周围的用户访问速度。CDN可以从技术上解决用户访问网站速度慢的问题。但是对于一些小网站来说,可能就没必要使用CDN了。

三、压缩CSS和JavaScript

为了减少页面字节数,可以压缩CSS和JS。对于容量小的页面来说,服务器的加载速度自然也就快了。而压缩CSS和JavaScript的另外一个作用便是起到保护的作用。但是压缩CSS和JavaScript也会带来一定的负面影响,主要的弊端就是代码丧失了可读性。压缩后的代码可能就是一大堆挤在一起的字符,这样维护起来非常不方便。

四、减少DNS查询

通常在网络服务器上的域名和IP地址之间是一一对应的关系。每台运作的计算机都会有一个独立的IP地址,域名和IP地址之间还需要相互转换以方便计算机之间的辨认。而类似的转换工作就是域名解析,也可以称为DNS查询。一般每一次的DNS查询会消耗12-20毫秒的时间,浏览器只会在DNS查询结束之后才会下载该域名下的东西。所以,要想优化服务器、加快页面的加载速度,可以考虑减少DNS查询的时间。

五、Gzip压缩

Gzip压缩是目前应用最多的加速方式之一。Gzip的压缩比例也很大,一般可以达到85%的压缩率。简单来说,服务器端100K的页面可以压缩成不超过25K再发送到客户端,通过降低网络传输的数据量来提高客户端浏览器的访问速度。很多类型的文件都可以采用Gzip压缩,包括HTML、CSS和JavaScript文件。

六、避免在CSS中使用Expressions

由于过于频繁的执行次数,CSS表达式通常会严重影响服务器的性能,所以减少CSS表达式也是优化服务器的一个有效方法。很多人都知道CSS表达式只能在IE浏览器里执行,这也是为什么我们要尽可能避免使用CSS表达式。

当然优化服务器的方法不局限于以上几种,还有其他很多可行的优化技巧,比如启用内容过期、将样式文件放在最上面、将脚本文件放在最下面、外置CSS和JavaScript文件、对磁盘进行碎片整理、查找服务器集群里面的薄弱环节等。