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


Posted in PHP onDecember 24, 2019

一、高并发的概念

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

二、高并发架构相关概念

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 相关文章推荐
PHP生成带有雪花背景的验证码
Oct 09 PHP
php 无限分类的树类代码
Dec 03 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
PHP开发者常犯的10个MySQL错误更正剖析
Jan 30 PHP
PHP中最容易忘记的一些知识点总结
Apr 28 PHP
nginx+thinkphp下解决不支持pathinfo模式
Jul 01 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
PHP7 新特性详细介绍
Sep 06 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
Feb 28 PHP
php实现微信扫码支付
Mar 26 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
May 21 PHP
thinkphp5实现微信扫码支付
Dec 23 #PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 #PHP
PHP架构及原理知识点详解
Dec 22 #PHP
Laravel 验证码认证学习记录小结
Dec 20 #PHP
php文件上传原理与实现方法详解
Dec 20 #PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 #PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 #PHP
You might like
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
JS 实现图片直接下载示例代码
2013/07/22 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
[01:00:53]OG vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
利用python程序帮大家清理windows垃圾
2017/01/15 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
django项目中新增app的2种实现方法
2020/04/01 Python
Django REST framwork的权限验证实例
2020/04/02 Python
call在Python中改进数列的实例讲解
2020/12/09 Python
python爬虫基础之urllib的使用
2020/12/31 Python
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
社区志愿者心得体会
2014/01/03 职场文书
运动会广播稿500字
2014/01/28 职场文书
岗位职责风险防控
2014/02/18 职场文书
物业经理自我鉴定
2014/03/03 职场文书
小学先进集体事迹材料
2014/05/31 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
个人务虚会发言材料
2014/10/20 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
二手房购房意向书
2015/05/09 职场文书
初中班干部工作总结
2015/08/10 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js