5种常用WEB网站缓存方法介绍

时间:2022-01-08 06:27:45

1.减少 HTTP 请求数:一个页面中包含的图片,JS,css等每一个资源都会生成一个 HTTP 下载请求,由浏览器发向网站服务器,如果减少这个请求数,会缩短网络传输的时间。

另外图片尽量采用压缩格式的,例如 jpg 就属于一种压缩图片格式,bmp属于无压缩无失真图片。这个需要网页/网站设计人员综合考虑这个因素。

优点:缩短网络传输事件,网络传输量小,减少服务器端负载;

缺点:减少HTTP请求,有时候无法满足网站发布信息的需求,盗链的出现也会增加HTTP请求;

2、采用缓存技术(webcache):这个是目前网站加速最主要的方式。如果利用代理/缓存加速服务器去实现的话,网站在不需要做任何改动的情况下,就可实现大跨度的实现加速效果。实现的基本方式为:将指定的网站页面周期性的缓存起来,缓存时间可从几秒到几天,在缓存时间内,页面只需要生成一次,以后有用户访问这个页面的时候,网站服务器和数据库就不再需要重新生成相同的页面了,极大的减少了网站服务器和数据库负荷。我们做个简单的对比,假设一个新闻热点页面,在一个小时可被访问1万次,如果这个新闻页面每次被访问的时候,都会通过读取数据库后再一遍一遍的编译生成,在一个小时内将会重复性的生成1万次;如果这个页面被周期性的缓存10分钟,也就是每间隔10分钟才会被生成一次,一个小时内只会被生成6次,如果两种方式一对比,效果就超级明显,两种比较下服务器负荷的压力比差别1000倍以上,缓存技术将使得网站负载在高峰期游刃有余。Fikker网站加速软件实际上是一款代理服务器软件,通过Fikker网站加速服务器提供的页面缓存(webcache)功能,将需要缓存的网站URL配置到页面缓存中(支持正则表达式,通配符和精确地址匹配),并设定一定的缓存时间(几秒到几天),不需要重启Fikker立即生效,如果有重要页面变动,可通过清理缓存将指定的缓存页面清理出去。

优点:网站不需要做任何改动,大幅减少服务器和数据库的负荷。

3、使用gzip压缩:页面压缩主要是降低传输尺寸,提高传输效率。常用的 html,asp,php,jsp,txt,css,js等文本页面,通过gzip压缩可降低75%左右尺寸,也就是原来需要传输 100KB 的页面,gzip压缩后只需要 25KB 的传输数据了,加速的效果是非常明显的。Fikker内置了gzip模块,自动对压缩的文件压面进行压缩传输。

4、使用非阻塞网络技术(non-block):提高网络响应速度,linux从 2.6 内核开始,专门引入 epoll 事件机制,相对于传统的 select 事件机制,效率大大的增强,尤其在高并发情况下越发的明显,几个线程即可并发支持上万并发连接,使用尽量少的线程除了减少内存开支还可减少频繁的线程切换的开销。Fikker软件的Linux版本全面支持epoll事件机制,支持从连接建立到连接结束,从域名解析开始到结束的全非阻塞网络设计。

5、提高带宽,加速页面传输:利用带宽加速方式常用是CDN,通过CDN运营商的网络将页面分发出去,用户访问时可就从最近的节点获取,达到加速目的。但这里面有一个前提,就是需要页面是静态的,或动态页面首先需要被生成出来,然后才能利用 CDN 的高速网络传输出去,从这个角度理解,CDN 与缓存加速具有很强的互补性,即利用缓存技术加快页面生成,利用CDN加快传输,缺一不可。