解决网站大流量问题的策略

当网站访问量变大时,服务器能否承载这么大的访问量。网站如果使用虚拟主机的话,由于访问量过大经常会引起服务器性能问题,这是很多人的烦恼。那么,对于网站大流量带来的问题,正确的解决方法应该是什么呢?

第一, 确认服务器硬件是否足够支持当前的流量。普通的P4服务器一般最多能支持每天10万独立P,如果访问量比这个还要大,那么,必须首先配置一台更高性能的专用服务器才行,否则怎么优化都不可能彻底解决性能问题。

第二,优化数据库访问。服务器的负载过大,一个重要的原因是CPU负荷过大。降低CPU的负荷,才能够有效打破瓶颈。而使用静态页面可以使得CPU的负荷最小化。前台实现完全的静态化当然最好,可以完全不用访问数据库,不过,对于频繁更新的网站,静态化往往不能满足某些功能。

缓存技术是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用这些文件,而不必再访问数据库。

如果确实无法避免对数据库的访问,可以尝试优化数据库的查询SQL,避免使用Select*from这样的语句。每次查询只返回自己需要的结果,避免短时间内的大量$QL查询。

第三,禁止外部的盗链。外部网站的图片或者文件盗链往往会带来大量的负载压力,因此, 应该严格限制外部对于自身的图片或者文件盗链。好在目前可以简单地通过refer来控制盗链。Apache自己就可以通过配置来禁止盗链,IIS也有一些第三方的插件可以实现同样的功能。当然,伪造refer也可以通过代码来实现盗链,不过,目前蓄意伪造refer盗链的还不多,可以先不去考虑。或者使用非技术手段来解决,比如在图片上增加水印。

第四,控制大文件的下载。大文件的下载会占用很大的流量,并且对非SCSI硬盘来说,大量 文件下载会消耗CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在另外一台服务器上。目前有不少免费的Wb2.0网站提供图片分享和文件分享功能,因此,可以尽量将图片和文件上传到这些分享网站。

第五,使用不同主机分流主要流量。将文件放在不同的主机上,提供不同的镜像供用户下载。同时我们还可以使用阿里云OSS这种对象存储服务,将一些静态资源放在对象存储上面,来减轻服务器的压力。

第六,使用流量统计分析。在网站上安装流量统计软件,或者使用服务器的日志分析功能,来查看哪里地方使用了流量比较多,哪些页面需要进行优化。然后针对这些页面进行网页性能或文件的做优化。



(本文内容及图片收集于网络,如有侵权,请联系我们删除。)