到底多大才算高并发?

简介: 到底多大才算高并发?

一、什么是高并发


定义:


   高并发(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台机器负载均衡。”


这时候小熊心里的表情大概是:



1112728-20190219122750059-216638116.png


   但是如果小熊就职的公司是美团之类的。那这这时候小熊心里的表情大概是:



1112728-20190219122807248-1494949910.png


场景2:


固态硬盘SSD(Solid State Disk)说:我读取和写入高达 1000MB/秒


mysql说:我单机TPS10000+


nginx说:我单机QPS10W+


静儿说:给我一台56核200G高配物理机,我可以创建一个单机QPS1000W



1112728-20190219123015461-1365697632.png


 不在同一维度,没有任何前提,无法比较谁更牛。“我的系统算不算高并发?”这个问题就如同一个女孩子爱问的问题:“我美不美?”

 

三、高并发的本质


   俗话说:「没有对比就没有伤害」。算不算高并发,这个问题的答案需要加对比和前提。

 

对比包括:


-业界:在业界同类产品中并发量处于什么位置。举个栗子🌰,美团外卖的日单量是千万级别,一个系统日单量在百万,虽然差一个数量级,但是相比大多数公司已经很不错。


-自身:在自身系统中,并发问题是否已经是系统的瓶颈?如果是,这么这个瓶颈怎么打破?如果不是,那当初架构设计的时候是怎么保证并发不是问题的?(别告诉我:是通过系统没有访问量来保证的[擦汗])。

 

前提包括:


-业务复杂度:举个栗子🌰,访问百度首页的时间基本就是看自己家的网速,通常情况下都是点一下就看到结果了。而扫描二维码支付,通常需要等很久,虽然这可能已经是业界最牛的支付公司出品了。


-配置:用高配物理机得出的数据和最老最低配的虚拟器上的出来的结果是无法比较的。通常的配置有:cpu、内存、磁盘、带宽、网卡

 

   高并发的本质不是「多大算高并发」的一个数字,而是从架构上、设计上、编码上怎么来保证或者解决由并发引起的问题。当别人问你:“做过高并发吗?”回答者完全可以描述自己系统的各项指标,然后开始叙述自己对系统中对预防、解决并发问题作出的思考和行动。

 

四、总结


   过程大于结果,方向大于方法。

相关文章
|
JavaScript NoSQL Java
高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解
Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快;2.redis是单线程的,省去了很多上下文切换线程的时间;3.redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。
3725 0
|
6月前
|
存储 缓存 负载均衡
高并发问题
高并发问题
36 0
|
6天前
|
存储 缓存 算法
高并发解决方案
高并发解决方案
|
7月前
|
NoSQL 关系型数据库 MySQL
聊聊高并发下超卖,少卖的解决方案
聊聊高并发下超卖,少卖的解决方案
175 0
|
10月前
|
存储 缓存 监控
【2023】Redis缓存高并发
【2023】Redis缓存高并发
167 0
|
缓存 CDN
实现高并发秒杀的7种方式 建议收藏!!
实现高并发秒杀的7种方式 建议收藏!!
114 0
|
存储 缓存 运维
大厂都是如何对高并发系统做到高可用的?
系统具备较高的无故障运行的能力。 Hadoop1.0的NameNode是单点,一旦故障,整个集群不可用。Hadoop2提出的NameNode HA方案就是同时启动两个NameNode:
99 0
|
Java 测试技术 数据库
实现高并发秒杀的七种方式(2)
实现高并发秒杀的七种方式(2)
|
消息中间件 JavaScript 小程序
实现高并发秒杀的七种方式(1)
实现高并发秒杀的七种方式(1)
|
安全 网络协议 Shell
高并发服务器的限制有哪些,如何提高并发量
高并发服务器的限制有哪些,如何提高并发量
高并发服务器的限制有哪些,如何提高并发量