高并发和大流量解决方案

php如何解决网站大流量与高并发的问题?

  分析

  • 高并发构架的相关概念
    • 并发:某个时间点,有多少个访问同时到来。
    • 高并发 :通常一个系统的日pv在千万以上,有可能是一个高并发的系统
    • 高并发的指标: 
    • QPS:每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指http请求)
    • 吞吐量:单位时间内处理的请求数量,(通常由QPS与并发数决定)
    • 响应时间:从请求发出到收到响应话费的时间,例如:系统处理一个http请求需要100ms,这个响应时间就是100ms
    • pv:综合浏览量(page view) ,即页面浏览量或者点击量,一个访问客在24小时内访问的页面数量,同一个人浏览你的网站同一个页面,只记作一次pv
    • UV:独立访客(Unique Visitor) ,即一定时间范围内相同访客多次访问网站,只计算为1个独立访客。
    • 带宽:计算带宽大小需要关注两个指标,峰值流量和页面平均大小
    • 日网站宽带= PV/统计时间(换算成秒)* 平均页面的大小(单位kb) * 8
    • 峰值一般是平均值的倍数,根据实际情况订
    • QPS 不等于 并发连接数
    • QPS 是每秒HTTP请求数量,并发连接数是系统同时处理请求数量
    • 峰值每秒请求数(QPS) = (总的pv * 80%)/ (6小时秒数*20%)
    • 80% 的访问量集中在20%的时间    6小时指:上午2小时,下午2小时,晚上2小时
    • 压力测试 的指标
    • 测试能承受的最大并发数值,测试最大承受的QPS值,
    • 压力测试工具
    • ab,wrk,http_load,web Bench , Siege , Apache JMeter
    • ab:全称apache benchmark ,是apache官方推出的工具,创建多个并发访问线程,模拟多个访问者同时对某一url地址进行访问。他的测试目标是基于url的,因此,他既可以用来测试apache的负载压力,也可以测试Nginx、lighthttp,tomcat、iis等其他web服务器的压力。
  • ab的使用

    • 模拟并发请求100次,总共请求5000次     ----》         ab -c 100 -n 5000 待测试网站
    • 注意事项
    • 测试机器与被测试机器分开
    • 不要对线上服务测试
    • 观察测试工具ab所在机器,以及被测试的前端的cpu,内存,网络等都不超过最高限度的75%;
    • 测试 www.baidu.com  并发量为100访问1000次

  

  •    QPS达到极限的处理

             随着QPS的增长,每个阶段需要根据实际情况来进行优化,优化的方案也与硬件条件相关,网络宽带息息相关

             QPS为50 的时候 属于小型网站,一般不需要优化

             QPS为100  时就需要数据库缓存,数据库的负载均衡

             QPS 为 800 带宽为8M时  需要处理cdn加速,负载均衡

             QPS为 1000 使用memcache 缓存数据库缓存 ,使用静态页面缓存

           QPS 为 2000  使用: 业务分类

  • 高并发解决方案

       流量优化: 做防盗链处理 

       前端优化: 减少HTTP请求,(图片和css,js合并),添加异步请求,启用浏览器缓存和文件压缩(例如图片压缩),

                          cdn加速,建立独立的图片服务器。

       服务端优化: 页面静态化处理,并发处理,队列处理,

      数据库的优化: 数据库的缓存,分库分表、分区操作,读写分离,负载均衡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值