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数据饼图效果实现代码
Nov 23 PHP
php Xdebug的安装与使用详解
Jun 20 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 PHP
php获取textarea的值并处理回车换行的方法
Oct 20 PHP
php中count获取多维数组长度的方法
Nov 03 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
PHP的Yii框架中Model模型的学习教程
Mar 29 PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 PHP
php中的buffer缓冲区用法分析
May 31 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
简单的php购物车代码
Jun 05 PHP
PHP实现简易图形计算器
Aug 28 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代码实现支付宝批量付款
2015/12/24 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
brook javascript框架介绍
2011/10/10 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
js 获取、清空input type="file"的值示例代码
2014/02/19 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
js选择器全面解析
2016/06/27 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
Vue render深入开发讲解
2018/04/13 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
python如何通过protobuf实现rpc
2016/03/06 Python
django框架如何集成celery进行开发
2017/05/24 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python实现的HMacMD5加密算法示例
2018/04/03 Python
Python中一般处理中文的几种方法
2019/03/06 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
美国快时尚彩妆品牌:Winky Lux(透明花瓣润唇膏)
2018/11/06 全球购物
工厂保安员岗位职责
2014/01/31 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
春节联欢晚会主持词
2014/03/24 职场文书
优秀员工评优方案
2014/06/13 职场文书
新文化运动的基本口号
2014/06/21 职场文书
工会积极分子个人总结
2015/03/03 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
python对文档中元素删除,替换操作
2022/04/02 Python