“高并发”到底是什么意思啊?是关于什么的指标???
1
sjtlqy 2016-01-19 10:07:50 +08:00 1
先把业务写干净再来谈这个
|
3
expkzb 2016-01-19 10:29:09 +08:00
|
4
Wangxf 2016-01-19 10:31:08 +08:00
我理解,并是什么意思?就是一起,发就是发请求,合起来就是一起发请求,高就是一起发请求的数量多,这种东西自己想下然后 Google 一下一大堆吧??
|
5
b821025551b 2016-01-19 10:32:17 +08:00
貌似操作系统这门课讲的很详细。
|
6
tabris17 2016-01-19 10:34:19 +08:00
并发就是同时执行多个相同的任务
|
7
shyling 2016-01-19 10:40:25 +08:00
并发不是并行。并行是指同时进行多个任务。并发指的是同时**应对**多个任务
|
8
yxaaa123 OP @Wangxf 我自己也查过,但是怎么说的都有啊!比如说一个系统可以支撑多少多少并发,但是这个并发的概念是什么?每秒能支撑的连接请求数量?可以维持的连接数量?每秒能够处理的消息数量??
|
9
shyling 2016-01-19 10:43:01 +08:00
可以参考一下这个: http://www.ituring.com.cn/article/118825
|
10
jhaohai 2016-01-19 10:45:18 +08:00
高并发就是指系统综合的吞吐量吧
|
12
airqj 2016-01-19 10:51:18 +08:00
你和你的好基友
找个女的 3P 一个地方只能轮流来 这就是并发 |
13
airqj 2016-01-19 10:52:07 +08:00
好像说错了 哈哈:)其实我也不懂
|
15
ryanking8215 2016-01-19 10:54:19 +08:00 1
|
16
wy315700 2016-01-19 10:55:30 +08:00
并发和并行,经常遇到的概念。。
|
17
baozijun 2016-01-19 10:55:50 +08:00
并行是多个任务同时进行,并发是多个任务交替执行,一个接一个的,等待的是同一个资源,可以看下 java 入门必看书--Java 并发编程实战哇
|
18
tidezyc 2016-01-19 10:58:02 +08:00
高并发通过 cpu 时钟切换减少 stop-the-world
|
19
jkm 2016-01-19 10:58:11 +08:00
网络并发通常值两个指标, 1 个是同时支持的网络链接数量,另一个是 1s 内同时处理的请求数目。
|
20
visonme 2016-01-19 10:58:28 +08:00
一种有状态的运动
|
21
iburu 2016-01-19 10:58:57 +08:00
concurrency
|
22
joshz 2016-01-19 11:05:57 +08:00
其实就是有没有多个 CPU 核心的区别。单个只能分时复用并发,多个就可以并行了,当然也可以同时并发。不知道这样理解对不对。
|
23
cdnzz 2016-01-19 11:09:19 +08:00
现在好多企业都有大量的视频和图片,导致空间数据暴增,他们更多的要求云服务能给他们带来高并发的解决能力,简单就是同时进行多个任务,但是用户访问速度不变或者能更快访问这类。
|
24
lovepython 2016-01-19 11:18:49 +08:00
并发就是一个水龙头,好几个人去接水喝
并行就是一人一个水龙头,随便喝 |
25
lovepython 2016-01-19 11:22:42 +08:00
@lovepython 然后又引发了 一秒内这个水龙头可以让多少人接水喝 一秒内水的量是多少
|
26
sjtlqy 2016-01-19 12:35:32 +08:00
磁盘,网络,CPU, 具体的话有网络socket链接,有数据库事务查询的,这个太大了
|
27
Andy1999 2016-01-19 12:40:33 +08:00 via iPhone
QPS
|
28
xcaspar 2016-01-19 13:11:49 +08:00
并发是同一时间处理多个任务,但任务需要排队处理,也就是一个时间点只能干一件事
并行是同一时间同时处理多个任务,也就是同一时间点可以干多件事情。 |
29
clino 2016-01-19 13:13:09 +08:00 via Android
并发不一定是并行的 但并行肯定能并发
|
30
noahzh 2016-01-19 13:35:34 +08:00
你同时回答不同人的问题就是并发.
你一次回答大家的问题就是并行. |
31
BOYPT 2016-01-19 14:14:40 +08:00
再说计算机性能的语境下,并发必须规划一个讨论的时间间隔,因为真正的并发估计要到量子计算机里面才能考虑。
比如说, HTTP 服务器 1 秒内处理的请求数 Request per second 就是一个通用指标,是 1 秒内完成 Req -> Resp 过程的次数; |
32
yads1983 2016-01-19 14:21:30 +08:00 1
并发是同时支持多个来自不同方的、相同的请求 /指令,
并行是同时支持多个来自同一方 /不同方的、不同的请求 /指令。 区别点: 并发:同样的请求 /指令 并行:不同的请求 /指令 |
33
suliuyes 2016-01-19 14:34:38 +08:00 1
大部分都没回答楼主的问题。楼主想问的应该是“老板或者客户要求你这个系统要能支持 XXX 的并发数”或者“某某系统能支持 XXX 的并发数”这里面并发的含义和标准吧?
我个人观点如下,说的可能不对欢迎大家指正: 打个不是很“准确”的比方,秒杀活动的时候,同一时间会有不同地方的很多个用户同时点击抢购按钮,那么“理论上”某些用户发起请求到达服务器的时间差是无限趋近于 0 的,可以等同于同时到达服务器,那么服务器同时要去应对和请求这些用户的请求,而不管你是多核并行处理还是单核序列处理,这个同时发起请求的用户数(这里先假设每个用户瞬时只有一个请求)肯定有个上限,从一开始能轻松处理到处理,到一个处理峰值极限,然后开始到缓慢(记住响应时间的概念),之后服务器就挂了。因此这里就有个标准说要支持多少并发数就看你怎么去定义网站正常访问的范围。然后紧接着就牵涉出另外指标概念,吞吐量,如 TPS , QPS ……这个网上就很好找了 |
35
cYcoco 2016-01-19 14:40:41 +08:00
|
36
codeyung 2016-01-19 14:55:11 +08:00
楼上好污
|
37
airqj 2016-01-19 15:17:09 +08:00
|
38
airqj 2016-01-19 15:20:21 +08:00
并发 只是 服务器能够在允许的时间范围内响应请求
并行 一般是操作系统内部的事儿.... 想想就是这样了 :) |
39
irobbin 2016-01-19 15:42:08 +08:00
并发:同时容纳多少客户端使用
并行:同时容纳多少客户端同时使用 |
40
liuyanjun0826 2016-01-19 15:57:11 +08:00
代表两个意思,要不然是极有效率的程序,要不然是极多余的功能。
|
41
cYcoco 2016-01-19 17:00:44 +08:00
@airqj 我是这么理解的 单核 CPU 开多线程 对于用户来说是并发的 但是实际中 CPU 也是串行执行的
多核 CPU 才能实现并行吧。 |
43
robinlovemaggie 2016-01-19 22:08:22 +08:00
|