网站首页 > 精选教程 正文
定义:
高并发(High Concurrency)是使用技术手段使系统可以并行处理很多请求。
关键指标:
-响应时间(Response Time)
-吞吐量(Throughput)
-每秒查询率QPS(Query Per Second)
-每秒事务处理量TPS(Transaction Per Second)
-同时在线用户数量
关键指标的维度:
-平均,如:小时平均、日平均、月平均
-Top百分数TP(Top Percentile),如:TP50、TP90、TP99、TP4个9
-最大值
-趋势
「并发」由于在互联网架构中,已经从机器维度上升到了系统架构层面,所以和「并行」已经没有清晰的界限。「并」(同时)是其中的关键。由于「同时」会引发多久才叫同时的问题,将时间扩大,又根据不同业务关注点不同,引申出了引申指标。
引申指标:
-活跃用户数,如:日活DAU(Daily Active User)、月活MAU(Monthly Active Users)
-点击量PV(Page View)
-访问某站点的用户数UV(Unique Visitor)
-独立IP数IP(Internet Protocol)
-日单量
二、多大算高并发
这个问题的答案不是一个数字。来看两个场景:
场景1:
木头同学去一家创业公司面试。这个公司做的产品还没有上线,面试官小熊之前就职过公司的产品都没有什么量。
小熊:“有高并发经验吗?”
木头:“我们服务单机QPS2000+,线上有4台机器负载均衡。”
这时候小熊心里的表情大概是:
但是如果小熊就职的公司是美团之类的。那这这时候小熊心里的表情大概是:
场景2:
固态硬盘SSD(Solid State Disk)说:我读取和写入高达 1000MB/秒
mysql说:我单机TPS10000+
nginx说:我单机QPS10W+
静儿说:给我一台56核200G高配物理机,我可以创建一个单机QPS1000W
不在同一维度,没有任何前提,无法比较谁更牛。“我的系统算不算高并发?”这个问题就如同一个女孩子爱问的问题:“我美不美?”
三、高并发的本质
俗话说:「没有对比就没有伤害」。算不算高并发,这个问题的答案需要加对比和前提。
对比包括:
-业界:在业界同类产品中并发量处于什么位置。举个栗子,美团外卖的日单量是千万级别,一个系统日单量在百万,虽然差一个数量级,但是相比大多数公司已经很不错。
-自身:在自身系统中,并发问题是否已经是系统的瓶颈?如果是,这么这个瓶颈怎么打破?如果不是,那当初架构设计的时候是怎么保证并发不是问题的?(别告诉我:是通过系统没有访问量来保证的[擦汗])。
前提包括:
-业务复杂度:举个栗子,访问百度首页的时间基本就是看自己家的网速,通常情况下都是点一下就看到结果了。而扫描二维码支付,通常需要等很久,虽然这可能已经是业界最牛的支付公司出品了。
-配置:用高配物理机得出的数据和最老最低配的虚拟器上的出来的结果是无法比较的。通常的配置有:cpu、内存、磁盘、带宽、网卡
高并发的本质不是「多大算高并发」的一个数字,而是从架构上、设计上、编码上怎么来保证或者解决由并发引起的问题。当别人问你:“做过高并发吗?”回答者完全可以描述自己系统的各项指标,然后开始叙述自己对系统中对预防、解决并发问题作出的思考和行动。
四、总结
过程大于结果,方向大于方法。
猜你喜欢
- 2024-10-25 从运维角度来分析mysql数据库优化的一些关键点
- 2024-10-25 Jmeter 让压测随时做起来 jmeter进行压测
- 2024-10-25 性能测试的问题分享(一) 性能测试可以测试出哪些典型问题
- 2024-10-25 系统设计面试面试指北 系统设计介绍
- 2024-10-25 落地 eBPF 可观测性之 DeepFlow Agent 性能揭秘
- 2024-10-25 Java程序员应该了解的一些技术 java程序员平时都做什么
- 2024-10-25 基于SpringBoot的微服务架构与K8S容器部署实践
- 2024-10-25 AngusTester单机每秒60万+吞吐量测试
- 2024-10-25 架构与思维:设计容量,到底有多重要?
- 2024-10-25 Spring Cloud Gateway 突发高危漏洞,下一代云原生网关恰逢其时?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)