zoukankan      html  css  js  c++  java
  • PHP 大型网站优化 大数据大并发大流量


    PHP 大型网站优化 大数据大并发大流量

    什么是大型网站? 大型网站要满足一下标准.

    pv(page views)值, 页面浏览量,一个网站的所有页面,在24小时内被浏览的总的次数, 一般说 到千万.
    uv(unique visitor) 独立访客: 一个网站的24小时内,有多少个用户来访问该网站, 一般说 到10万

    ip值,一个网站的24小时内,有多少个ip访问。在不考虑内网和局域网的情况下,uv 等于 ip, 如果考虑的话,uv值略大于        ip,一般说 到10万

    大型网站带来的问题

    大并发
                概述: 在同一个时间点,有大量的客户来访问我们的网站,如果访问量过大,就可能造成网站瘫痪。
         大流量
                概述: 当网站大后,有大量的图片,视频,flash, 这样就会对流量要求高,需要更多更大的带宽.(花钱)
    大存储

                概述:你的数据量会成海量的数据,如果我们的数据放入一张表,是无法应对的。可能对数据保存和查询出现问题

    大型网站的常见处理方案

    大并发的处理方法(对架构分层+负载均衡+集群)

                

    大流量的处理方案

        网站图片尽量使用背景图。
        可以启用apache自带的数据压缩机制(gzip ,deflate) .

        使用cdn(content delivery network) 内容分发网络

                

                网站图片,在不影响观看的情况下,尽量使用jpg(分辨率底),不要使用高分辨率。

                

            大存储的常见解决方案
                使用缓存技术(内存缓存[redis,mysql数据库(memory引擎)],页面缓存(页面静态化)
                优化数据库
                    表的设计要合理(满足3NF)  原子性,唯一性,拆分表
                 添加索引(主键索引|全文索引|唯一索引|普通索引|空间索引)
             优化sql语句
             分表( 水平分表,垂直分表),分区
             读写分离
             优化my.ini配置
            软件硬件应当升级
           页面静态化
               使用php自己的ob缓存技术实现
               使用模板替换技术实现 
                   主流的mvc框架(tp,yii,laravel)模板引擎一般都自带页面静态化 
                   使用ob缓存     
                     PHP程序在运行过程中,存在一个程序缓存,该缓存必须存在,程序员无法控制。
                    PHP程序运行过程中,我们可以开启ob缓存(在php5.2前,默认ob是关闭的,在后面版本默认是打开的),                  打开ob缓存的方法有两个 
                        a) 修改php.ini output_buffering = 4096, 
                        b) 还有就是直接在php文件中打开 ob_start();
                     PHP程序运行过程中,如果打开了ob缓存,那么echo 数据会被放入到ob中,header信息都是放入程序缓存
                    当php文件执行完毕后,就会把ob缓存的数据刷新到程序缓存,然后apache封包,返回给浏览器。
                             
  • 相关阅读:
    Application,Session,Cookie,ViewState,Cache对象用法、作用域的区别
    leetcode系列---3Sum C#code
    leetcode系列---atoiFunction C#code
    leetcode系列---Two Sum C#code
    .NET webAPI中集成swagger
    js去空格
    clip 属性剪裁绝对定位元素
    css实现隐藏显示
    无阻塞加载脚本的方案
    打乱数字数组的顺序
  • 原文地址:https://www.cnblogs.com/zack86/p/10594085.html
Copyright © 2011-2022 走看看