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中的时间显示
Jan 18 PHP
php下通过POST还是GET来传值
Jun 05 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
用PHP+MySQL搭建聊天室功能实例代码
Aug 20 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
php通过rmdir删除目录的简单用法
Mar 18 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
php数组冒泡排序算法实例
May 06 PHP
Smarty环境配置与使用入门教程
May 11 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
php7 安装yar 生成docker镜像
May 09 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 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
多文件上载系统完整版
2006/10/09 PHP
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
php提供实现反射的方法和实例代码
2019/09/17 PHP
设定php简写功能的方法
2019/11/28 PHP
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
angularJS Provider、factory、service详解及实例代码
2016/09/21 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
Vue.js父与子组件之间传参示例
2017/02/28 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
js实现左右两侧浮动广告
2018/07/09 Javascript
JS实现字符串翻转的方法分析
2018/08/31 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
聊聊鉴权那些事(推荐)
2019/08/22 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
女大学生个人求职信
2013/12/09 职场文书
大学生村官任职感言
2014/01/09 职场文书
文字自荐书范文
2014/02/10 职场文书
经管应届生求职信范文
2014/05/18 职场文书