PHP并发原理及解决方案
**
一丶什么是高并发
高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。
高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。
响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。
吞吐量:单位时间内处理的请求数量。
QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。
并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。
发生并发和解决办法
当 QPS>50的时候,可以视为小型网站,不考虑优化
当 QPS>100的时候,是遇到数据库查询瓶颈了(数据库的缓存层,数据库的负载均衡)
当 QPS>800的时候,是遇到宽带瓶颈了(CDN加速,负载均衡)
当 QPS>1000的时候,可以做html的静态缓存
当 QPS>2000的时候,就做业务分离,分布式存储。
高并发处理方案
1、前端优化
(1)减少HTTP请求(css和js合并)
(2)添加异步请求(先不将所有数据展示给客户,,当看客户触发事件才会异步请求数据)
(3)启用浏览器缓存和文件压缩
(4)CDN加速
(5)建立独立的图片服务器(减少 I / O)
2、服务器优化
(1)页面静态化
(2)并发处理
(3)列队处理
3、数据库优化
(1)数据库缓存
(2)分区分表分库
(3)读写分理
(4)负载均衡
4、web服务器优化
(1)nginx反向代理及负载均衡
初次发文多多关照 初次发文多多关照
哪里又不好的地方请各位大佬们多多指教