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 相关文章推荐
PHP4在Windows2000下的安装
Oct 09 PHP
有关 PHP 和 MySQL 时区的一点总结
Mar 26 PHP
PHP-MySQL教程归纳总结
Jun 07 PHP
PHP学习笔记之二
Jan 17 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
Apr 08 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
Aug 01 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
使用composer 安装 laravel框架的方法图文详解
Aug 02 PHP
php实现分页功能的详细实例方法
Sep 29 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 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
mysql5详细安装教程
2007/01/15 PHP
php 缓存函数代码
2008/08/27 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
2018/10/26 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
python判断图片宽度和高度后删除图片的方法
2015/05/22 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
Python eval函数原理及用法解析
2020/11/14 Python
用Python 执行cmd命令
2020/12/18 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
AmazeUI框架搭建的方法步骤(图文)
2020/08/17 HTML / CSS
莱德杯高尔夫欧洲官方商店:Ryder Cup Shop
2019/08/14 全球购物
师范学院教师自荐书
2014/01/31 职场文书
美术教师岗位职责
2014/03/18 职场文书
秋季运动会演讲稿
2014/09/16 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
主持人开场白台词
2015/05/29 职场文书
新员工入职感言范文!
2019/07/04 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
小学记事作文之200字
2019/08/06 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python