马上又要618了,每年到了这个时候,商家就开始促销,价格低会吸引来超多用户,对系统来说就是更多的流量,技术上如何确保网站稳定运行,且不被超卖,同时还要让用户有个良好的购物体验。
12306网站在最开始的时候,经常出现系统瘫痪,而如今也已经能够支持同时上千万人同时抢票且不受影响。
这些都离不开高并发技术,以及根据业务进行架构设计,应对流量的冲击。
今天我们一起来谈谈这些与架构设计有关的技术
高并发,通常是指通过设计保证系统能够同时处理很多请求,也就是在同一个时间点,有很多请求同时访问同一个接口。
高并发是一种系统在运行过程中遭受的“短时间内大流量冲击” 的情况,如果处理不好,就很容易造成系统吞吐量下降,响应变慢,从而影响用户体验,甚至可能造成系统无法提供服务的情况。
这时候我们通常需要优化系统,硬件,网络,应用,数据库等来达到高并发要求。
响应时间
响应时间是衡量系统性能的重要指标之一,它表示系统从接收请求到向用户返回响应所需要的时间。
响应时间是用户感知系统性能的关键因素之一,因为它直接影响到用户满意度和用户转化率。当一个用户发出请求时,如果系统不能在很短的时间内提供响应,则用户可能会感到不耐烦,并可能在等待时间过长后离开网站、应用或服务
从用户角度来说,响应时间越长,用户体验感越差,响应时间越短,用户体验越好,留存率也越好。
从系统角度来说: 响应时间决定着系统的性能,响应时间越短,系统性能越高,也就能更好的处理业务。
吞吐量是单位时间内系统所处理的用户请求数。
对互联网应用来说,吞吐量能够反映系统的负载能力。
公式1: 吞吐量=并发数/平均响应时间
公式2: 吞吐量=请求总数/总时长
QPS指的是服务器在一秒内共处理了多少个请求,主要用来表示读的请求。
依据二八原则,80%的流量是在20%的时间里产生的,比如现在有 5000000 个请求,预估白天的QPS=(5000000 0.8)/ 1260600.2 =462
然后分析业务得到最高QPS可能是平均的两倍,当前的系统峰值就是462*2=924
预估出QPS后,再根据峰值 QPS/单台机器可承受的qps, 算出需要多少台服务器。
机器数== 峰值QPS/ 单台机器最高可承受的QPS
举例来说,如果你在银行办理转账业务,每一次的转账都是一个事务,那么银行的TPS就是指每秒内可以处理多少笔转账业务。
TPS通常用于评估系统的性能和负载能力,同样适用于高负载场景下的互联网服务提供商。例如,电商平台可以通过监控TPS来判断系统的稳定性和用户满意度。
值得注意的是,虽然QPS和TPS都是用来衡量系统的吞吐能力,但由于事务通常比请求需要处理更多数据,并且需要更长的处理时间,因此,在大多数情况下,TPS 的值要比 QPS 小。
TPS主要包含以下三个过程:
这一次完整的请求可能产生多次对服务器的请求,这些请求计入QPS
假设访问一个页面时候会请求服务器3次,这样的一次访问会产生1个TPS和3个QPS
访问量PV
pv是页面浏览量,用户每对网站中的一个网页访问1次均被记录1次,用户对同一个页面的多次访问被累计记录,PV是评价网站流量的最常用指标。
独立访客 UV
独立访客数记录标准一般为"一天",即一天内如果某访客从同一个IP地址来访问某网站n次的话,访问次数计作n, 独立访客数则计作1。
同一天内同一个IP多次访问同一个网站只记为1个。
高可用性是指一个系统经过专门的设计后具备的减少停工时间并保持提供服务的高度可用性。该特性是衡量系统提供服务能力的一个特征,也是对系统进行设计时需要考虑的一个重要因素。
对于分布式数据库系统而言,“三高一易”(高可用、高可靠、高性能、易用性)几乎囊括了所有重要的特性。而随着互联网需求和技术的发展,高可用性被提到一个新的高度。CAP理论认为,A(可用性)应当被更加重视
上述指标可以帮助服务提供商评估其服务的可用性和性能,便于提高服务质量和满足客户需求。
我们平常经常看到互联网公司喊口号,我们今年一定要做到3个9、4个9,即99.9%、99.99%,甚至还有5个9,即99.999%。 这些就是服务器的可用性数字化的衡量指标的SLA 服务等级协议。
这么多9是怎么计算的呢?
全年拿365天做计算吧,看看几个9要停机多久时间做能才能达到!
1年 = 365天 = 8760小时
99.9 = 8760 * 0.1% = 8760 * 0.001 = 8.76小时
99.99 = 8760 * 0.0001 = 0.876小时 = 0.876 * 60 = 52.6分钟
99.999 = 8760 * 0.00001 = 0.0876小时 = 0.0876 * 60 = 5.26分钟
从以上看来,全年停机5.26分钟才能做到99.999%,即5个9。依此类推,要达到6个9及更多9,可以说非常难了。
本文主要介绍了高性能架构的理论基础,后续再讲解架构的设计案例。
好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
如果你喜欢的话,就不要吝惜你的一键三连了~