PHP关于高并发大流量问题的解决方案

一、高并发的概念

高并发指的是在一个很短的单位时间内,有大量的用户对你的服务器发起请求。比如商城的“秒杀”或者淘宝的“双11”等。

二、相关概念

1、QPS
Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够做出相应查询的次数。互联网领域内,经常用每秒查询率来衡量服务器的性能。
QPS的计算遵循“八二定律”,即每天80%的访问集中在20%的时间里,这20%的时间为峰值时间
八二定律公式:( 总PV * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
精确计算公式:QPS = 并发量 / 平均响应时间
2、TPS
Transactions Per Second的缩写,也就是事务数/秒。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
3、PV
page view即页面浏览量,page一般指的是HTML网页,包括PHP等动态产生的HTML内容。来自浏览器的一次HTML内容请求会被看作一个PV,某个时间段内累计的多个请求数为PV总数
网站说日均IP/ PV 访问量约为600 / 2400的意思是,今天访问首页次数为2400次,访问IP为600个。也就是说这600个IP一共访问首页2400次。
通常说的网站流量(traffic)是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,常用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每个用户的页面浏览数量、用户在网站的平均停留时间等。
4、吞吐量
吞吐量是指系统在单位时间内处理请求的数量。
5、响应时间
从请求发出到收到响应花费的时间
6、独立访客
某个时间范围内一个访客的多次访问只算作一个独立访客
7、带宽
计算带宽需关注两个指标,峰值流量和页面的平均大小
计算关系:PV/统计时间(秒) * 平均页面大小(kb)* 8
8、压力测试
测试网站系统能够承受的最大QPS值
9、常用性能测试工具
ab,wrk,httpload,Apache JMeter

三、对QPS各个层级的相应优化

QPS 优化方案
小于50 小型网站,不考虑优化
QPS达到100 数据查询瓶颈,考虑做数据库缓存层或者数据库的负载均衡
QPS达到800 带宽瓶颈,考虑使用CDN加速或者负载均衡
QPS达到1000 HTML静态缓存
QPS达到2000 业务分离,分布式缓存

四、高并发解决方案

模块 优化
流量 防止盗链,限制文件下载的大小
前端 减少HTTP请求(CSS,JS合并),异步请求,启用浏览器缓存,文件压缩,CDN加速,建立独立的图片服务器
服务器 页面静态化,并发处理,队列处理
数据库 数据库缓存,分区、分库、分表,读写分离,负载均衡
web服务器 Nginx反向代理实现负载均衡,LVS实现负载均衡

猜你喜欢

转载自blog.csdn.net/weixin_43206190/article/details/85327132