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实现文件下载简单示例(代码实现文件下载)
Mar 10 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
Nov 12 PHP
主流PHP框架的优缺点对比分析
Dec 25 PHP
PHP生成唯一订单号的方法汇总
Apr 16 PHP
smarty简单应用实例
Nov 03 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
php实现的SSO单点登录系统接入功能示例分析
Oct 12 PHP
基于php实现的验证码小程序
Dec 13 PHP
php获取网站根目录物理路径的几种方法(推荐)
Mar 04 PHP
php注册审核重点解析(数据访问)
May 23 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 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
apache和PHP如何整合在一起
2015/10/12 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
使用Python编写Linux系统守护进程实例
2015/02/03 Python
python使用PyGame绘制图像并保存为图片文件的方法
2015/04/24 Python
python使用生成器实现可迭代对象
2018/03/20 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
python实现转圈打印矩阵
2019/03/02 Python
python判断自身是否正在运行的方法
2019/08/08 Python
python实现图片插入文字
2019/11/26 Python
Python3的socket使用方法详解
2020/02/18 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
python中slice参数过长的处理方法及实例
2020/12/15 Python
详解Css3新特性应用之过渡与动画
2017/01/10 HTML / CSS
css3学习心得分享
2013/08/19 HTML / CSS
浅谈HTML5 服务器推送事件(Server-sent Events)
2017/08/01 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
全球性的在线商店:Vogca
2019/05/10 全球购物
乡镇精神文明建设汇报材料
2014/08/15 职场文书
期中考试复习计划
2015/01/19 职场文书
2015年生产车间工作总结
2015/04/22 职场文书
2015年音乐教师个人工作总结
2015/05/20 职场文书
在校证明模板
2015/06/17 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
初中团委工作总结
2015/08/13 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript