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进行MySQL删除记录操作代码
Jun 07 PHP
php ignore_user_abort与register_shutdown_function 使用方法
Jun 14 PHP
win7下memCache的安装过程(具体操作步骤)
Jun 28 PHP
php自定义函数截取汉字长度
May 15 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析
Jan 08 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 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 咖啡文化
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
PHP+ajax分页实例简析
2015/12/07 PHP
PHP7新功能总结
2019/04/14 PHP
理解JAVASCRIPT中hasOwnProperty()的作用
2013/06/05 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
javascript实现2048游戏示例
2014/05/04 Javascript
javascript结合Canvas 实现简易的圆形时钟
2015/03/11 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
jQuery动态添加元素无法触发绑定事件的解决方法分析
2018/01/02 jQuery
Python的垃圾回收机制深入分析
2014/07/16 Python
Python3使用requests包抓取并保存网页源码的方法
2016/03/15 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
python 模拟银行转账功能过程详解
2019/08/06 Python
python实现银行管理系统
2019/10/25 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
捷克浴室和厨房设备购物网站:SIKO
2018/08/11 全球购物
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
好的自荐信包括什么内容
2013/11/07 职场文书
中式婚礼主持词
2014/03/13 职场文书
2014年五一劳动节社区活动总结
2014/04/14 职场文书
讲解员培训方案
2014/05/04 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
公司离职证明范本
2014/10/17 职场文书
干部作风建设心得体会
2014/10/22 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
先进基层党组织事迹材料
2014/12/25 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
2015年调度员工作总结
2015/04/30 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
python爬虫请求库httpx和parsel解析库的使用测评
2021/05/10 Python
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android