当前位置:首页 > 技术文章 > 正文内容

PHP高并发和大流量的解决方案(php如何处理高并发问题)

arlanguage3个月前 (02-01)技术文章27

一 高并发的概念

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

二 高并发架构相关概念


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

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/2004.html

标签: nginx php并发
分享给朋友:

“PHP高并发和大流量的解决方案(php如何处理高并发问题)” 的相关文章

无预算申请免费泛域名SSL证书

今天给大家带来一个福利免费泛域名(通配符)证书,泛域名SSL证书可以直接配置在主域名后,子域名也可以全部自动实现https访问。目前免费SSL证书申请渠道一般都集中在免费单域名证书上,免费通配符证书还是比较难申请到的,相对来说泛域名SSL证书是最方便的证书类型。申请免费泛域名SSL证书教程:PC端点...

陪你一起学kafka(五)——kafka如何发送消息到nginx

背景在实际的项目中,我们经常会遇到各种网络域的隔离,通常各个网络域之间的通信,我们会通过nginx做代理,进行转发。那kafka的消息可以通过nginx转发吗,答案是肯定的。今天分享给大家详细的过程。美好的一天,从分享开始,加油!准备kafka,版本2.13-3.0.0nginx,版本1.9.9环境...

PHP日志记录

背景在生产环境中日志的重要性显而易见,能快速定位问题和程序的调优。在LNMP架构中怎么记录好程序中的错误日志。设置error_log记录PHP日志信息#将会向PHP报告发生的每个错误 error_reporting = E_ALL #关闭页面显示才能将错误回写到日志文件 display_err...

解决Apache 2.4+PHP5.6不支持CURL

跑一个demo,突然发现,服务器上最普通的Apache 2.4+PHP5.6组合,不支持curl,报告没有curl_init函数;而php.ini里面已经打开了php_curl.dll,而且php -i的输出是正常的,说明curl是可以执行的。折腾了半天百思不得其解,最后索性把php5.6、apac...

405状态码Nginx解决办法

最近由于业务系统并发量比较大,所以在已有负载均衡的基础上,我们做了Nginx动静分离,但是系统访问后报错,经过F12(浏览器开发者模式)和Nginx日志分析,发现请求状态变成了405,故百度解释如下:问题原因: 请求的方式(get、post、delete)方法与后台规定的方式不符合。比如: 后台方...

Nginx负载均衡安全配置说明2 nginx负载均衡配置文件

上一节,我们对Nginx安全配置的几个知识点做了一个说明,例如限制IP访问、文件目录禁止访问限制、需要防止DOS攻击、请求方法的限制和限制文件上传的大小这个进行了一个分析说明,详细的文章请关注我的头条号:一点热,在里面看回之前的文章,快速入口Nginx负载均衡的一些安全配置说明其实,配置Nginx的...