如何定义并发?
- 0次
- 2021-06-10 23:39:22
- idczone
没做过互联网项目, 什么叫两万并发, 后面应该带一个单位吧 譬如 tps qps 什么的.国外服务器
这两万并发的单位是啥?
在一个视频教程里看到的...
谢谢大佬.
不好说
连接数,会话数
视频教程,web 相关的话一般是 qps 吧
tps = transaction per second
qps = query per second
自然是以秒为单位
我们的定义是一秒内能处理掉的请求数量
2000ip*10 请求 /秒( http/1.1),h2 默认 100+起步
并发可以理解为同时请求的人数或者说客户端数目吧,再根据发送的频率,可以得到发送端的 qps,根据你处理请求的速度,可以得到你服务端的承载 QPS
并发就是 concurrency,以下摘自维基百科:
在计算机科学中,并发性(英语:Concurrency )是指在一个系统中,拥有多个计算,这些计算有同时执行的特性,而且他们之间有着潜在的交互。因此系统可进行的运行路径会有相当多个,而且结果可能具有不确定性。并发计算可能会在具备多核心的同一个芯片中复合运行,以优先分时线程在同一个处理器中运行,或在不同的处理器执行。
对 web 服务器来说,严格意义上的并发就是同时处理请求的能力,并发量就是能同时处理多少个请求。你看到的教程里说的并发,大概率就是 TPS/RPS/QPS 的通俗说法,真正要支持同时处理两万个请求,通常需要一个规模不小的集群。
通常指的并发是 RPS 每秒请求数量,TPS 是每秒事务请求数量,QPS 是每秒读请求数量,而 RPS 不区分事务请求和读请求,就单纯的每秒请求数量。
从原理上讲一个 CPU 核心就只能同时处理一个请求,所以有多少个核心,就有多少个并发。
但实际上当我们说并发的时候,大家的定义是不统一的。以前我们公司做搜索引擎内核的团队说并发是指线程数,一台服务器能承载多少个线程同时运行,就说并发多少。而 Web 团队说的并发则是 QPS,一个公司内部都不一样,更何况把问题撒到网上来问呢?
个人感觉 QPS 更有意义一些,这真正代表了服务器的处理能力,关心有多少个线程其实没什么意义,毕竟还有 redis 这种单线程高 QPS 的东西存在呢