高并发
什么是高并发? 高并发是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。
高并发中一些概念
1. PV(访问量): 页面访问量,页面刷新一次算一次。
2. UV(独立访客): 即Unique Visitor,一个客户端(电脑,手机)为一个访客;
3. DAU(日活跃用户数):登录或使用了某个产品的用户数,这与流量统计工具里的访客(UV)概念相似。
4. 峰值QPS:
原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
5. QPS/TPS(每秒查询率):每秒能够查询次数(QPS/TPS= 并发数 / 平均响应时间)
并发数:并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。
吐吞量:吞吐量是指系统在单位时间内处理请求的数量
响应时间(RT):响应时间是指系统对请求作出响应的时间,一般取平均响应时间
1)例1:
1. 假设1秒钟100个请求,处理每个请求需要花2秒,
2. 那么 50(每秒可以处理50个请求,即QPS使50) = 100(每秒并发数) / 2 (每个请求的平均处理时间)
3. 这是一台机器的QPS,如有每秒并发数为1000,那么就需要10台这样的机器才扛得住:
2)例2:
1. 每天200万PV,那么它的QPS = (2000000 * 0.8)/ (24*60*60*0.2)≈ 93
2. 假设按照上面那样一台机器的QPS是50,那么抗住每天200万PV的访问量需要2台这样的机器
如何提高高并发
互联网分布式架构设计,提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。
垂直拓展:提高单个服务器的处理能力 水平拓展:只需要增加服务器的数量