您的位置:首页 > 其它

20150320--负载均衡+ob缓存-01

2016-05-08 21:20 246 查看




目录 一、判断大型网站的标准 1 二、大型网站带来哪些问题: 1 三、高并发如何解决: 2 四、如何解决大流量 2 1、防止网站的资源被盗链,存在于一些大的资源类型的网站, 2 2、减少了http请求, 2 3、配置浏览器缓存 3 4、配置压缩,减少数据传输量 6 5、可以把比较占流量的一些资源单独部署服务器。 8 6、花钱买带宽。 8 五、大存储的解决方案: 9 1、使用服务器端的缓存。 9 2、优化数据库 9 六、页面静态化技术 9 1ob缓存内容: 10 2、通过学习几个函数,加深ob缓存理解。 10 3、使用ob缓存来完成一个案例: 13

一、判断大型网站的标准

1、pv值(page views)网站浏览量: 概念:一个网站,所有的页面,在一天24小时内,被访问的总量,达到千万级别,或者几百万以上。 2、uv值(unique visitor)独立访客: 概念:一个网站,在一天24小时内,有多少个用户来访问我们的网站。uv值几十万个, 3、独立 ip, 概念:一个网站,在一天24小时内,有多少个独立ip来访问我们的网站。 如果要考虑公司的局域网,uv值略大于独立ip的。



二、大型网站带来哪些问题:

1、高的并发量。 并发量:一个网站的,在同一个时间点(1秒内),有多少个用户正在请求同一个地址的网站。 2、大的流量(带宽) 带宽需求变大。 3、数据存储的问题。 当数据表里面的记录非常大,从容量来说,达到 GT级别,要快速的查找到想要的数据。

三、高并发如何解决:

网站的架构,采用分层设计,使用负载均衡和集群。

四、如何解决大流量

1、防止网站的资源被盗链,存在于一些大的资源类型的网站,



2、减少了http请求,

可以把一些css样式文件和js,一些背景图,合并成一个文件。

3、配置浏览器缓存

把一些更新不是很频繁的资源,比如css,js,图片,缓存到浏览器端,当浏览器请求同一资源时,直接从浏览器缓存里面取出。 (1)缓存原理:以请求图片为例 第一次请求:







第二次请求:









(2)如何配置: 打开httpd.conf,开启expires模块

使用方法: ExpriesActive on;开启缓存的配置。 ExpiresDefault “<base>[plus]{<num><type>}*” ExpiresByType type/encoding “<base>[plus]{<num><type>}*” ExpiresDefault是设置默认的缓存参数。 ExpiresByType是按照文件类型来设计独特的缓存参数。 查看资源的类型:



缓存效果:

注意: 例子: ExpiresActive On ExpiresByType image/jpeg “access plus 30 days” access/now:基于请求响应一瞬间的。 modification:基于文件最后修改日期的。 扩展: 在有些资源不需要缓存,比如我们设置gif文件不缓存。 利用,header模块信息。 步骤: (1)打开httpd.conf文件,开启header模块。

(2)在虚拟主机里面进行配置。 要针对扩展名为.gif的文件不进行缓存。 <filesMatch “\.(gif)$”> header set cache-control “no-store,must-revalidate” </filesMatch>

4、配置压缩,减少数据传输量

可以对apache进行配置,常见的压缩格式gzip,deflate,compress压缩以及google chrome正在推的sdch压缩。 查看浏览器支持的压缩格式:





Apache上利用gzip压缩算法进行压缩的模块有两种:mod_gzipmod_deflate. Apache 1.x系列没有内建网页压缩技术,使用额外的第三方mod_gzip模块。 Apache2.0以上的版本中gzip压缩使用mod_deflate模块。也就是服务器要采用gzip压缩则开启mod_deflate模块。 步骤: (1)打开,httpd.conf 文件,开启mod_deflate模块。

(2)配置方式:在虚拟主机下面,添加 如下代码: <ifmodule mod_deflate.c> DeflateCompressionLevel 6#压缩级别为6,可选1-9,推荐为6 #配置针对那些文件进行压缩。 AddOutputFilterByType DEFLATE text/plain #压缩文本文件 AddOutputFilterByType DEFLATE text/html #压缩html文件 AddOutputFilterByType DEFLATE text/xml #压缩xml文件 </ifmodule> 注意:为什么要指定文件类型来压缩? 压缩也是要耗费cpu资源的,图片/视频等文件,压缩效果也不好。一般压缩文本格式的文件,不要压缩图片和视频文件。 压缩之前:

配置压缩之后:

最终配置: <VirtualHost *:80> DocumentRoot "D:/amp/demo" ServerName www.demo.com <Directory "D:/amp/demo"> Options indexes FollowSymLinks #开启缓存配置, ExpiresActive on #针对那些类型的资源进行配置缓存。 ExpiresByType image/jpeg "access plus 30 years" #针对扩展名为gif的资源设置不缓存 <filesMatch "\.(gif)$"> header set cache-control "no-store,must-revalidate" </filesMatch> AllowOverride All Order allow,deny allow from all </Directory> <ifmodule mod_deflate.c> DeflateCompressionLevel 6#压缩级别为6,可选1-9,推荐为6 AddOutputFilterByType DEFLATE text/plain #压缩文本文件 AddOutputFilterByType DEFLATE text/html #压缩html文件 AddOutputFilterByType DEFLATE text/xml #压缩xml文件 </ifmodule> </VirtualHost> DeflateCompressionLevel 指令来设置压缩级别。该指令的值可为1(压缩速度最快,最低的压缩质量)到9(最慢的压缩速度,压缩率最高)之间的整数,其默认值为6(压缩速度和压缩质量较为平衡的值)

5、可以把比较占流量的一些资源单独部署服务器。



6、花钱买带宽。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: