php如何解决网站大流量,高并发的问题?
考点
高并发架构相关概念
高并发:通常是指并发访问,也就是在某个时间点,同时有多少个访问。有50个访问,并发数为50;
通常如果一个系统的日pv在千万以上,有可能是一个高并发的系统。
有时也不一定是高并发,因为
有的公司完全不走技术路线,全靠机器堆,这不在我们的讨论范围
高并发的问题,具体该关心什么?
QPS:每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求)
吞吐量:单位时间内处理的请求数量(通常由QPS与并发数决定)
响应时间:从请求发出,到收到响应花费的时间。例如系统处理一个HTTP请求需要100ms,这个100ms就是系统的响应时间。
PV:综合访问量(Page View),即页面浏览或者点击量,一个访客在24小时内访问页面的数量。
同一个人浏览你的网站同一页面,只记作一次PV
UV:独立访客(UniQue Visitor),即一定时间范围内相同访客多次访问网站,只计算为1个独立访客。与ip类似,一个用户,一个ip。
带宽:计算带宽大小,关注两个指标,峰值流量和页面的平均大小。
高并发解决方案例
日网站带宽=pv/统计时间(换算到秒)*平均页面大小(单位kb)*8
峰值一般是平均值的倍数,根据实际情况来定。
QPS不等于并发连接数
QPS是每秒的HTTP请求数量,并发连接数是系统同时处理的请求数量。一个并发连接数,可以是多个http请求。
qps压力测试。
测试能承受的最大并发。
测试最大承受的QPS值。
知道服务器最大承受多少qps;网站一天pv是多少,可以计算出来。
整个峰值的qps是多少。
知道整个网站的日qps多少,服务器单排的qps的承受能力是多少。
压力测试,就是用来了解我们的单排服务器所能承受的qps值到低是多少。
18分钟
常用性能测试工具
Ab,wrk,http_load,web Bench,Siege
ab
ab的使用
Ab -c 并发数
-n 总共请求数
优化
流量优化
防盗链处理
前端优化:
减少http请求。Css,js,图片进行合并。
添加异步请求。
启用浏览器缓存和文件压缩
cdn加速
建立独立的图片服务器
服务端优化
页面静态化
并发处理
数据库优化
数据库缓存memcache,redis,mongdb
分库分表,分区操作
读写分离
负载均衡
Web服务器优化
负载均衡
网友评论