登录
首页 >  数据库 >  MySQL

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

来源:SegmentFault

时间:2023-01-23 13:38:37 145浏览 收藏

数据库小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《【MYSQL】CPU资源和可用内存大小对数据库性能的影响》带大家来了解一下【MYSQL】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资源和可用内存大小对数据库性能的影响》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表