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封包,返回给浏览器。
                         

猜你喜欢

转载自blog.csdn.net/weixin_41488238/article/details/79472500
今日推荐