系统访问量的计算及访问量的技术控制手段

      在网站推广活动之前,业务方根据经验评估出的系统访问量PV,然后根据各个系统所占的流量比例,计算出每个子系统的访问量,比如商品列表1000万,商品详情1500万,下单500万等,然后根据每个系统和数据库的交互次数,来算出数据库的访问量,比如访问量巨大的首页,我们一般存放到CDN缓存中,并且将页面进行静态化,动态数据通过异步获取,通过CDN系统的智能路由,能够将用户的请求路由到离他最近的C...
摘要由CSDN通过智能技术生成

      在网站推广活动之前,业务方根据经验评估出的系统访问量PV,然后根据各个系统所占的流量比例,计算出每个子系统的访问量,比如商品列表1000万,商品详情1500万,下单500万等,然后根据每个系统和数据库的交互次数,来算出数据库的访问量,比如访问量巨大的首页,我们一般存放到CDN缓存中,并且将页面进行静态化,动态数据通过异步获取,通过CDN系统的智能路由,能够将用户的请求路由到离他最近的CDN缓存机器上获取页面;系统峰值评估时,会遵循一个原则:80%的访问请求将在20%的时间内到达,则峰值qps= (总PV*80%)/(60*60*24*20%),所需要的机器数 = 峰值qps /单台机器所能承受的最高qps,可以通过访问日志分析(下回讲解),在高流量时期,实时计算出当前系统的qps值,绘出水位图:当前水位= 当前总qps/(单台机器极限qps*机器数)*100%,从而来达到监控流量的目的;

   既然我们已经知道如何监控流量,那如何来控制流量,不让流量超出它的系统最高水位呢?方法有:对系统的总并发请求书进行限制,限制单位时间内的请求次数,通过白名单机制来限制每一个接入系统调用的频率等,如果限制总并发请求,那超出来的部分浏览应该如何处理?最简单的方式直接返回,其中java中采用的信号量机制,但是这样会带来糟糕的用户体验,

java信号量机制(等待数为0)

当然直接返回的方式太粗暴,我们可以通过单机内存队列来进行有限的等待,可以提升用户体验和提高资源利用率,同样采取的还是java信号量机制;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值