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程序的方法
Mar 09 PHP
php数据库抽象层 PDO
May 07 PHP
php 中英文语言转换类代码
Aug 11 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
Dec 29 PHP
简单的cookie计数器实现源码
Jun 07 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
PHP的拦截器实例分析
Nov 03 PHP
PHP处理大量表单字段的便捷方法
Feb 07 PHP
php eval函数一句话木马代码
May 21 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
针对多用户实现头像上传功能PHP代码 适用于登陆页面制作
Aug 17 PHP
php layui实现前端多图上传实例
Jul 30 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
咖啡与水的关系
2021/03/03 冲泡冲煮
php magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
2013/07/08 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
2018/04/24 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
vuex入门最详细整理
2020/03/04 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
如何使用Javascript中的this关键字
2020/05/28 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[46:37]LGD vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
简单学习Python time模块
2016/04/29 Python
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
Python正则抓取新闻标题和链接的方法示例
2017/04/24 Python
python获取外网IP并发邮件的实现方法
2017/10/01 Python
Python requests模块实例用法
2019/02/11 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
巴西男士个人护理产品商店:SHOP4MEN
2017/08/07 全球购物
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
业务主管岗位职责范本
2013/12/25 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
PYTHON InceptionV3模型的复现详解
2022/05/06 Python