PHP高并发和大流量的解决方案

一 高并发的概念

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

二 高并发架构相关概念

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

2、PV(Page View):综合浏览量,即页面浏览量或者点击量,一个访客在24小时内访问的页面数量

--注:同一个人浏览你的网站的同一页面,只记做一次pv

3、吞吐量(fetches/sec) :单位时间内处理的请求数量 (通常由QPS和并发数决定)

4、响应时间:从请求发出到收到响应花费的时间

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

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

7、日网站带宽: PV/统计时间(换算到秒) * 平均页面大小(kb)* 8

三 需要注意点:

1、QPS不等于并发连接数(QPS是每秒HTTP请求数量,并发连接数是系统同时处理的请求数量)

2、峰值每秒请求数(QPS)= (总PV数*80%)/ (六小时秒数*20%)【代表80%的访问量都集中在20%的时间内】

3、压力测试: 测试能承受的最大并发数 以及测试最大承受的QPS值

4、常用的性能测试工具【ab,wrk,httpload,Web Bench,Siege,Apache JMeter】

四 优化

1、当QPS小于50时

优化方案:为一般小型网站,不用考虑优化

2、当QPS达到100时,遇到数据查询瓶颈

优化方案: 数据库缓存层,数据库的负载均衡

3、当QPS达到800时, 遇到带宽瓶颈

优化方案:CDN加速,负载均衡

4、当QPS达到1000时

优化方案: 做html静态缓存

5、当QPS达到2000时

优化方案: 做业务分离,分布式存储

五、高并发解决方案案例:

1、流量优化

防盗链处理(去除恶意请求)

2、前端优化

(1) 减少HTTP请求[将css,js等合并]

(2) 添加异步请求(先不将所有数据都展示给用户,用户触发某个事件,才会异步请求数据)

(3) 启用浏览器缓存和文件压缩

(4) CDN加速

(5) 建立独立的图片服务器(减少I/O)

3、服务端优化

(1) 页面静态化

(2) 并发处理

(3) 队列处理

4、数据库优化

(1) 数据库缓存

(2) 分库分表,分区

(3) 读写分离

(4) 负载均衡

5、web服务器优化

(1) nginx反向代理实现负载均衡

(2) lvs实现负载均衡

更多PHP相关知识,请访问PHP教程!

更多相关文章

  1. 利用会话控制实现页面登录与注销功能
  2. 优化博客页面访问速度
  3. 图书管理系统【部署开发环境、解决分类、图书、前台页面模块】
  4. html页面传值问题已解决
  5. 如何检测用户有关退出页面的信息?
  6. jQuery使用之(四)处理页面的表单元素
  7. 如果原始页面加载是https,那么没有完整网址的jQuery $ .ajax会保
  8. 在页面问题内的Phonegap垂直滚动
  9. 如何在流体宽度旋转木马中的页面之间创建装订线?

随机推荐

  1. 成为优秀程序员的101条准则[每日前端夜话
  2. 假装网络工程师28——MPLS跨AS通信option
  3. 如何创建高可用性系统[每日前端夜话0xA2]
  4. Python3版本下创建计算给定日期范围内工
  5. PWA – 渐进式Web应用:你需要知道的一切[
  6. 超越 Cookie:当今的浏览器端数据存储方案[
  7. 坚持
  8. Vugu:后端要抢前端程序员的饭碗了?[每日前
  9. 啊这
  10. 怎样编写更好的 JavaScript 代码[每日前