zoukankan      html  css  js  c++  java
  • 20150320--负载均衡+ob缓存-01

    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、花钱买带宽。

  • 相关阅读:
    jquery 插件扩展2
    jquery 插件扩展
    call apply bind
    bom object
    js oop 封装
    js oop 继承
    js页面之间传参2
    js弹出新窗口的6中方法
    display Tag
    js中extends方法
  • 原文地址:https://www.cnblogs.com/lifushan/p/5471630.html
Copyright © 2011-2022 走看看