到底什么是并发 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangxiaoaer
V2EX    问与答

到底什么是并发

  •  
  •   wangxiaoaer 2018-05-13 11:04:33 +08:00 3017 次点击
    这是一个创建于 2788 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一般说起并发的时候,我们到底在讲什么?

    指的是 1 秒内“接收请求并且完成响应”整个流程的个数?还是 1 秒内“接受了请求,但是不一定完成响应,同时又没有把系统给搞垮”的个数?

    举个例子,一个请求涉及到数据库操作,由于某些原因,这些数据库操作需要耗费 300ms-4000ms (优化余地不大),在这种情况下,如果说想提高整个应用的并发,可以从哪些方面入手?

    第 1 条附言    2018-05-13 18:06:15 +08:00
    很多人说到优化,那我就具体说下数据库慢的原因吧。

    我们首先从请求中解析出一个字符串数组,一般长度是 14 左右,然后去分别查对应的表,查表时间不一,快的 100 毫秒,慢的几秒,之所以慢,是涉及到空间计算,所以如果如果某些表里某些记录的地理形状很复杂,就会非常慢。
    第 2 条附言    2018-05-14 11:33:10 +08:00
    还是有点不太明白,举个例子,一个基于同步网络库,比如 servlet2.x 的应用,请求从接收到响应,完整流程耗时 200ms,那么 1 秒钟可以完成 5 个请求,是不是 qps 就是 5 ?

    同样环境下,换成异步 vertx 等,能带来哪些方面的好处?
    8 条回复    2018-05-13 15:32:33 +08:00
    zzgwxf
        1
    zzgwxf  
       2018-05-13 11:15:18 +08:00
    如果性能瓶颈在数据库,可以考虑对数据库架构做一些调整或优化。
    lifespy
        2
    lifespy  
       2018-05-13 11:18:32 +08:00 via iPhone
    楼主搜索下并发和并行,应该就明白了
    wangxiaoaer
        3
    wangxiaoaer  
    OP
       2018-05-13 11:19:41 +08:00
    @zzgwxf #1 那一块可优化的余地不大,除非数据库配置升配,我关心的是应用层的。
    csl1995
        4
    csl1995  
       2018-05-13 11:23:20 +08:00 via iPhone
    应该是指的完成的个数。提高并发能力可以试试分库
    zzgwxf
        5
    zzgwxf  
       2018-05-13 11:51:23 +08:00   2
    @wangxiaoaer 高并发常是指,通过设计保证系统能够同时并行处理很多请求。提高系统并发能力的方式,方法论上主要有两种:垂直扩展( Scale Up )与水平扩展( Scale Out )。前者垂直扩展可以通过提升单机硬件性能,或者提升单机架构性能,来提高并发性,但单机性能总是有极限的,互联网分布式架构设计高并发终极解决方案还是后者:水平扩展。

    互联网分层架构中,各层次水平扩展的实践又有所不同:

    ( 1 )反向代理层可以通过“ DNS 轮询”的方式来进行水平扩展;

    ( 2 )站点层可以通过 nginx 来进行水平扩展;

    ( 3 )服务层可以通过服务连接池来进行水平扩展;

    ( 4 )数据库可以按照数据范围,或者数据哈希的方式来进行水平扩展;

    各层实施水平扩展后,能够通过增加服务器数量的方式来提升系统的性能,做到理论上的性能无限。
    zzgwxf
        6
    zzgwxf  
       2018-05-13 11:53:48 +08:00
    watzds
        7
    watzds  
       2018-05-13 12:51:29 +08:00
    你说的性能测试相关的并发请求,并发数是多少,不是并发两个字等定义的,还要具体考虑响应时间,成功率等等
    https://coolshell.cn/articles/17381.html
    Mazexal
        8
    Mazexal  
       2018-05-13 15:32:33 +08:00
    如果对于业务流程不长, 不是特别重要的数据库操作, 建议采用消息分发,消息队列进行操作
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5023 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 05:44 PVG 13:44 LAX 21:44 JFK 00:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86