山山未迟

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

image

目录

一、判断大型网站的标准 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的。

wps43B2.tmp

wps43D2.tmp

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

1、高的并发量。

并发量:一个网站的,在同一个时间点(1秒内),有多少个用户正在请求同一个地址的网站。

2、大的流量(带宽)

带宽需求变大。

3、数据存储的问题。

当数据表里面的记录非常大,从容量来说,达到 GT级别,要快速的查找到想要的数据。

三、高并发如何解决:

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

四、如何解决大流量

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

wps43F2.tmp

2、减少了http请求,

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

wps43F3.tmp

3、配置浏览器缓存

把一些更新不是很频繁的资源,比如css,js,图片,缓存到浏览器端,当浏览器请求同一资源时,直接从浏览器缓存里面取出。

(1)缓存原理:以请求图片为例

第一次请求:

wps4404.tmp

wps4405.tmpwps4415.tmpwps4416.tmp

第二次请求:

wps4427.tmpwps4428.tmpwps4429.tmpwps443A.tmp

wps444A.tmp

(2)如何配置:

打开httpd.conf,开启expires模块

wps445B.tmp

使用方法:

ExpriesActive on;开启缓存的配置。

ExpiresDefault “<base>[plus]{<num><type>}*”

ExpiresByType type/encoding “<base>[plus]{<num><type>}*”

ExpiresDefault是设置默认的缓存参数。

ExpiresByType是按照文件类型来设计独特的缓存参数。

查看资源的类型:

wps446C.tmp

wps447C.tmp

缓存效果:

wps448D.tmp

注意:

例子:

ExpiresActive On

ExpiresByType image/jpeg “access plus 30 days”

access/now:基于请求响应一瞬间的。

modification:基于文件最后修改日期的。

扩展:

在有些资源不需要缓存,比如我们设置gif文件不缓存。

利用,header模块信息。

步骤:

(1)打开httpd.conf文件,开启header模块。

wps449D.tmp

(2)在虚拟主机里面进行配置。

要针对扩展名为.gif的文件不进行缓存。

<filesMatch “\.(gif)$”>

header set cache-control “no-store,must-revalidate”

</filesMatch>

wps44AE.tmp

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

可以对apache进行配置,常见的压缩格式gzip,deflate,compress压缩以及google chrome正在推的sdch压缩。

查看浏览器支持的压缩格式:

wps44AF.tmpwps44B0.tmpwps44C1.tmp

Apache上利用gzip压缩算法进行压缩的模块有两种:mod_gzipmod_deflate.

Apache 1.x系列没有内建网页压缩技术,使用额外的第三方mod_gzip模块。

Apache2.0以上的版本中gzip压缩使用mod_deflate模块。也就是服务器要采用gzip压缩则开启mod_deflate模块。

步骤:

(1)打开,httpd.conf 文件,开启mod_deflate模块。

wps44D1.tmp

(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资源的,图片/视频等文件,压缩效果也不好。一般压缩文本格式的文件,不要压缩图片和视频文件。

压缩之前:

wps44E2.tmp

配置压缩之后:

wps44E3.tmp

最终配置:

<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、可以把比较占流量的一些资源单独部署服务器。

wps4503.tmp

6、花钱买带宽。

posted on 2016-05-08 21:20  山山未迟  阅读(241)  评论(0编辑  收藏  举报