菜鸟问一个数据库性能的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linpf
V2EX    数据库

菜鸟问一个数据库性能的问题

  •  
  •   linpf 2017 年 6 月 19 日 2396 次点击
    这是一个创建于 3199 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可能在大神眼里有些幼稚……但是原谅我的菜,斗胆问个问题:

    我买的阿里云 mysql 数据库,CPU 使用率一直都保持在 2%以内。请求量加大的情况下,发现 mysql 的查询速度大量降低,但是数据库 CPU 使用率也不提高,感觉数据库 CPU 被大量浪费。能否提升 CPU 使用率到 50%左右,使得 mysql 查询速度降低?

    内存使用率一直稳定在 25~30%,慢查询的时候发现内存利用率会上升。为啥 CPU 就不会提升利用率来加快查询呢? 难道是因为 mysql 操作一般用不到 CPU 来计算?

    21 条回复    2017-07-05 12:16:02 +08:00
    Yinz
        1
    Yinz  
       2017 年 6 月 19 日   1
    大量简单查询一般是磁盘 IO 吧?
    MasterC
        2
    MasterC  
       2017 年 6 月 19 日   1
    IO 开销,数据库最大连接数等等 都有可能影响查询性能,瓶颈不一定在 cpu 上
    silentime
        3
    silentime  
       2017 年 6 月 19 日
    你的目的是为了提升查询性能,跟是否消耗数据库资源是两回事啊,提升查询性能,最直接的先看看有没有索引
    changwei
        4
    changwei  
       2017 年 6 月 19 日 via Android
    提升 cpu 使用率降低查询速度可以试试看 while 1=1
    misaka19000
        5
    misaka19000  
       2017 年 6 月 19 日 via Android
    CPU 再快也没法提升 IO 的速度,数据库使用 B 树已经比较好的解决了 IO 查询比较慢的问题(空间换时间),想要速度快可以上 NoSQL 或者 SSD
    we3613040
        6
    we3613040  
       2017 年 6 月 19 日
    CPU 问题、内存问题、磁盘 IO 问题、网络问题这些都有可能是效率低,你先搞清楚是因为什么效率低,才能对症下药,不用只从 cpu 考虑。
    realpg
        7
    realpg  
    PRO
       2017 年 6 月 19 日
    先优化好你的查询再说吧……
    跟你的 CPU 不发生关系
    Jacklee
        8
    Jacklee  
       2017 年 6 月 19 日
    数据库的查询是 IO 密集型操作,所以查询瓶颈就在 IO 上了,所以 CPU 并不能帮上忙。redis、memcache 这类数据库,之所以查询快,也就是因为它们把数据放到内存里而不是硬盘上。所以,从查询优化上处理吧
    Immortal
        9
    Immortal  
       2017 年 6 月 19 日
    总感觉是连接数没上去
    akira
        10
    akira  
       2017 年 6 月 19 日
    普通查询是不怎么消耗 cpu 计算的。 根据你的需求,购买低一级的 rds 配置应该就够了
    linpf
        11
    linpf  
    OP
       2017 年 6 月 19 日
    @Yinz
    @MasterC
    @silentime
    @changwei
    @misaka19000
    @we3613040
    @realpg
    @Jacklee
    @Immortal
    @akira

    所以就是阿里云给的配置是 CPU 性能过剩?
    misaka19000
        12
    misaka19000  
       2017 年 6 月 19 日
    @linpf #11 只能说你的程序是 IO 密集型程序
    Mirana
        13
    Mirana  
       2017 年 6 月 20 日
    找个同样配置的物理机器,同样的压力测试试试

    估计是阿里云偷用户的 CPU
    DaPanda
        14
    DaPanda  
       2017 年 6 月 20 日
    内存会加大是因为有些操作会更多利用 buffer,从而减少开销最大的硬盘 IO。
    而 CPU 是不怎么会用到的
    Immortal
        15
    Immortal  
       2017 年 6 月 20 日
    @linpf 不是 是代码和设置上的问题 查看下 mysql 的连接数配置信息 如果代码上的库有连接池 看下连接池的上下限配置信息
    Jakesoft
        16
    Jakesoft  
       2017 年 6 月 20 日
    这说明你的 mysql 不忙
    zjq426
        17
    zjq426  
       2017 年 6 月 20 日
    直觉是 mysql 并不能让一条 query 在多核上并行,所以提高 cpu 使用率不是一个可行的方法。楼主可能需要先了解到如果需要磁盘 io 操作比内存操作是会慢很多的,内存又比 cpu 要慢很多,所以更慢的地方慢了,很快的地方闲着是很正常的。已经有朋友给出思路是增加内存。

    如果楼主想深入分析,建议应该再提供连接池的配置大小,实际使用活跃链接数量,查询数量平均,峰值,然后还有读写比等信息,是否设计事务操作,联合查询等信息供大家分析。
    buliugu
        18
    buliugu  
       2017 年 6 月 20 日
    当索引之类的数据库优化都做完以后,sql 最简单的优化就是换一块 ssd 口牙(逃
    linpf
        19
    linpf  
    OP
       2017 年 6 月 20 日
    @Jakesoft mysql 压力不小,遇到几个慢查询就数据库直接 CPU 飙升 100%崩溃了。
    akira
        20
    akira  
       2017 年 6 月 25 日
    @linpf 慢查询又是另外一回事了,要根据 sql 以及对应的表结构和索引 来具体分析了
    Hozzz
        21
    Hozzz  
       2017 年 7 月 5 日
    是 Linux 主机吗?是的话贴个 vmstat 1 10 上来看看(输出这个之前记得把查询跑起来)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4953 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 04:02 PVG 12:02 LAX 21:02 JFK 00:02
    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