【MYSQL】CPU资源和可用内存大小对数据库性能的影响

前言

可能影响到数据库性能的几个点,其一就是服务器硬件,也是本节要说的CPU与可用内存。

引入

当热数据超过可用内存大小,MemCache存储引擎缓存层容易失效(当缓存大量失效时,容易产生大量的网络传输),从而影响服务器的性能。

当出现这类I/O系统瓶颈时,我们就需要升级I/O子系统,来增加更多的内存,网络与I/O资源就是对我们数据库性能影响的第二个硬件因素。

CPU选型

采购人员经常性会向我们请教需要买什么参数的CPU硬件等等。

我到时想什么都买最好的!可是成本这种东西,只能让你选其一

那么,我们的CPU是要频率还是数量呢?

首先我们应该知道我们的应用是否是CPU密集型?

其实大多数时候我们要选择更好的而不是更多的

对于目前版本的MYSQL,不支持多CPU对同一SQL并发处理

当然,我们也要看看系统的并发量如何?(并发是纳秒级别的)

衡量数据库处理能力的指标 QPS:同时处理SQL的数量(这里是每秒)

MYSQL目前被大量应用于Web类的应用中,这类应用的并发量也是非常大的,则其CPU核心数量就比频率重要

同时也要考虑所使用的MYSQL的版本(高版本对多核CPU的支持较好、起码你可以放心使用16核或者32核的CPU)

当然,如果你想要使用多核CPU的话,还需要使用MYSQL最新版本,这样才能做到最好的性能。

关于内存

MYSQL本身是单线程的

  • 内存的大小直接影响MYSQL的性能
  • 把数据存储到缓存中,可以大大提高数据的性能

常用的MYSQL存储引擎

MyISAM 将索引存储到内存中,数据则放在操作系统中

InnoDB 则是同时在内存存储索引和数据,进而提高数据库运行效率

内存配置的提示

1、内存虽然越多越好,但是对性能的影响是有限的,并不能无限的增加性能
2、当然,多余的内存,可以增加操作系统等其他服务的性能

缓存对读有益处,同时对写操作也有益处

CPU -》 内存 -》 磁盘

缓存可以对写操作进行延缓,将多次写入变成一次写入(Eg:浏览量计数器)

如果本文对你有所帮助,欢迎关注本人公众号,谢谢。
《【MYSQL】CPU资源和可用内存大小对数据库性能的影响》

    原文作者:Java猫说
    原文地址: https://segmentfault.com/a/1190000016433875
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞