【PHP面试题】PHP如何解决网站大流量与高并发的问题?

本文介绍了高并发的相关概念,包括并发、QPS、吞吐量和响应时间,并讨论了常见的性能测试工具。针对不同QPS阶段,提出了解决方案,如数据库缓存、CDN加速和页面静态化。还分享了流量优化措施,如防盗链处理和前端优化策略,以及服务端优化,包括数据库分库分表、读写分离和队列处理。最后提到了Web服务器优化,如负载均衡的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、高并发架构相关概念

1)并发

并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。


2)我们说的高并发是什么?

上面的定义明显不是我们通常所言的并发,在互联网时代,所讲的并发、高并发,通常是指并发访问。也就是在某个时间点,有多少个访问同时到来。

​通常如果一个系统的日PV在千万以上,有可能是一个高并发的系统。有的公司完全不走技术路线,全靠机器堆,这不是我们的讨论范围。


3)高并发的问题,我们具体该关心什么?
  • QPS:每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求);
  • 吞吐量:单位时间内处理的请求数量(通常由QPS与并发数决定);
  • 响应时间:从请求发出到收到响应花费的时间(例如:系统处理一个HTTP请求需要 100ms,这个 100ms 就是系统的响应时间);
  • PV:综合浏览量(Page View),即页面浏览量或者点击量,一个访客在 24 小时内访问的页面数量。同一个人浏览你的网站同一页面,只记作一次PV
  • UV:独立访客(UniQue Visitor),即一定时间范围内相同访客多次访问网站,只计算为1个独立访客;
  • 带宽:计算带宽大小需关注两个指标, 峰值流量页面的平均大小
  • 日网站带宽 = PV / 统计时间(换算到秒)x 平均页面大小(单位KB)x 8
  • 峰值一般是平均值得倍数,根据实际情况来定
  • QPS 不等于 并发连接数
  • QPS是每秒HTTP请求数量,并发连接数是系统同时处理的请求数量(1个HTTP请求叫做1个QPS,一个并发连接数有可能里面有多个HTTP请求)
  • 峰值每秒请求数(QPS) = (总PV数 * 80%) / (6小时秒数 * 20%)【代表80% 的访问量集中在 20% 的时间】;
  • QPS压力测试:用来了解单台服务器所能承受的QPS值是多少
  • 测试能承受的最大并发数(测试服务器最大能承受多少QPS,网站一天PV是多少,可以计算出来整个QPS的峰值是多少);
  • 测试最大承受的QPS值

注:首先要知道 整个网站的日PV 是多少,服务器单台QPS的承受能力 是多少(如:我们日QPS经过计算得到200(单机峰值QPS为200)࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值