php 高并发解决思路解决方案

木目
木目
木目
188
文章
1
评论
2019年7月28日16:08:44 评论 2,100

php 高并发解决思路解决方案,如何应对网站大流量高并发情况。本文为大家总结了常用的处理方式,但不是细节,后续一系列细节教程给出。希望大家喜欢。

一 高并发的概念

在互联网时代,并发,高并发通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。

二 高并发架构相关概念

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 实现负载均衡

继续阅读
  • 扫扫加博主微信
  • 分享热门资源
  • weinxin
  • 微信公众号
  • 扫一扫获取解压密码
  • weinxin
木目
  • 本文由 发表于 2019年7月28日16:08:44
  • 转载注明:https://www.mumuwangluo.com/jzjs/phpjishu/9147.html--木目网络博客
PHP 验证邮箱是否有效 PHP技术

PHP 验证邮箱是否有效

在网站开发过程中,可能需要用 PHP 实现验证邮箱格式是否正确,那么我们就可以通过 PHP 中 filter_var 函数来实现。 下面我们就结合具体的代码示例,给大家介绍 PHP 怎么验证邮箱是否合...
PHP 多台服务器跨域如何让 session 共享使用 PHP技术

PHP 多台服务器跨域如何让 session 共享使用

重点讲讲redis方式的 session 共享方式,此方式也是博主推荐方式。 网站业务规模和访问量的逐步发展,原本由单台服务器、单个域名的迷你网站架构已经无法满足发展需要。 此时我们可能会购买更多服务...
PHP 学习资源 PHP技术

PHP 学习资源

PHPerNote PHPerNote 是一个 php 程序员的工作生活笔记,本站包含了 php 网络编程学习教程,数据库(主要是 MySQL 数据库)教程,javascript,jquery,div...

您必须才能发表评论!