到底多大才算高并发?

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

一、什么是高并发


定义:


   高并发(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、内存、磁盘、带宽、网卡

 

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

 

四、总结


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

相关文章
|
消息中间件 存储 JSON
消息队列的应用场景
消息队列的应用场景
436 0
|
小程序
小程序-uni-app:hbuildx uni-app 安装 uni-icons 及使用
小程序-uni-app:hbuildx uni-app 安装 uni-icons 及使用
1451 0
|
XML 前端开发 架构师
|
监控 druid
druid 连接池监控报错 Sorry, you are not permitted to view this page.
druid 连接池监控报错 Sorry, you are not permitted to view this page.
1164 0
关于springboot配置文件未加载的问题解决办法
一般情况下springboot的项目的配置文件都是默认加载的properties文件和yaml文件,但是有时候因为一些其他的设置也会导致这些配置文件没有被加载
3029 0
关于springboot配置文件未加载的问题解决办法
|
并行计算 前端开发 JavaScript
【修正版】QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
在了解qps、tps、rt、并发数之前,首先我们应该明确一个系统的吞吐量到底代表什么含义,一般来说,系统吞吐量指的是系统的抗压、负载能力,代表一个系统每秒钟能承受的最大用户访问量。
6618 1
【修正版】QPS、TPS、RT、并发数、吞吐量理解和性能优化深入思考
|
消息中间件 存储 缓存
QPS多少,才算高并发 ?
本文详解高并发概念及 QPS 标准,大厂面试高频点,建议掌握收藏。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
QPS多少,才算高并发 ?
|
关系型数据库 MySQL Docker
|
SQL 关系型数据库 MySQL
(十六)MySQL调优篇:单机数据库如何在高并发场景下健步如飞?
在当前的IT开发行业中,系统访问量日涨、并发暴增、线上瓶颈等各种性能问题纷涌而至,性能优化成为了现时代中一个炙手可热的名词,无论是在开发、面试过程中,性能优化都是一个常谈常新的话题。而MySQL作为整个系统的后方大本营,由于是基于磁盘的原因,性能瓶颈往往也会随着流量增大而凸显出来。
1977 0