高并发和大流量解决方案

问题:PHP如何解决网站大流量与高并发的问题?

   并发、我们说的高并发是什么?

并发:通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。

   通常如果一个系统的日PV在千万以上吗,有可能是一个高并发的系统。

   有的公司完全不走技术路线,全靠机器堆,这不在我们的讨论范围。


 

高并发的问题,我们具体该关心什么?

(1) QPS:每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求);

(2) 吞吐量:单位时间内处理的请求数量(通常有QPS与并发数决定)

(3) 响应时间:从请求发出到收到响应花费的时间

(4) PV:综合浏览量,即页面的浏览量或点击量,一个访客在24小时内访问的页面数量。(同一个人浏览你的网站同一页面,只记作一次PV。)

(5) UV:独立访客,即一定时间范围内同一访客多次访问网站,只计算为一个独立访客。

(6) 带宽:计算带宽大小需关注两个指标,峰值流量和页面的平均大小。

      日网站带宽 = PV / 统计时间(换算到秒)* 平均页面大小(单位KB)* 8

      峰值一般是平均值的倍数,根据实际情况来定。

(7) QPS 不等于 并发连接数。

   QPS是每秒HTTP请求数量,并发连接数是系统同时处理的请求数量。

(8) (总PV数*80%)/(6小时秒数*20%)= 峰值每秒请求数(QPS)

  二八定律:80%的访问量集中在20%的时间

(9) 压力测试:测试能承受的最大并发,测试最大承受的QPS值。

        测试机器与被测试机器分开。

        不要对线上服务做压力测试。

        观察测试工具所在机器,以及被测试的前端机的CP,内存,网络等都不超过最高限度的75%。


 

不同优化方案:

QPS:50      不需要优化

QPS:100      数据库缓存、数据库负载均衡  数据库瓶颈

QPS:800      带宽瓶颈  CDN加速,负载均衡

QPS:1000    静态HTML缓存

QPS:2000    做业务分离,分布式存储

流量优化:

  1. 防盗链处理
  2. 前端优化(减少HTTP请求、添加异步请求、启用浏览器缓存和文件压缩、CDN加速、建立独立的图片服务器)
  3. 服务端优化(页面静态化、并发处理、队列处理)
  4. 数据库优化(数据库缓存、分库分表分区操作、读写分离、负载均衡)
posted @ 2021-04-16 16:24  爱家家的卡卡  阅读(185)  评论(0编辑  收藏  举报