资讯专栏INFORMATION COLUMN

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

JaysonWang / 2446人阅读

摘要:引入当热数据超过可用内存大小,存储引擎缓存层容易失效当缓存大量失效时,容易产生大量的网络传输,从而影响服务器的性能。当出现这类系统瓶颈时,我们就需要升级子系统,来增加更多的内存,网络与资源就是对我们数据库性能影响的第二个硬件因素。

前言

可能影响到数据库性能的几个点,其一就是服务器硬件,也是本节要说的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:浏览量计数器)


如果本文对你有所帮助,欢迎关注本人公众号,谢谢。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/48077.html

相关文章

  • MySQL性能管理及架构设计(一):什么影响据库查询速度、什么影响MySQL性能

    摘要:重启,并重建系统表空间。性能优化顺序从上到下下一篇性能管理及架构设计二数据库结构优化高可用架构设计数据库索引优化参考教学视频实战性能管理及架构设计 一、什么影响了数据库查询速度 1.1 影响数据库查询速度的四个因素     showImg(https://segmentfault.com/img/bV5m06?w=427&h=196); 1.2 风险分析 QPS:Queries Pe...

    XiNGRZ 评论0 收藏0
  • 2017双11技术揭秘—阿里据库计算存储分离与离在线混布

    摘要:离在线混布计算存储分离后,离在线混布成为可能今年完成数据库离在线混布,为年大促节省了计算资源成本。展望目前我们正在进行软硬件结合,以及上层数据库引擎与分布式存储融合优化,性能将会超出传统本地盘的性能。 摘要: 随着阿里集团电商、物流、大文娱等业务的蓬勃发展,数据库实例以及数据存储规模不断增长,在传统基于单机的运维以及管理模式下,遇到诸多如成本,调度效率等问题,因此,2017年首次对数据...

    vpants 评论0 收藏0
  • 2017双11技术揭秘—阿里据库计算存储分离与离在线混布

    摘要:离在线混布计算存储分离后,离在线混布成为可能今年完成数据库离在线混布,为年大促节省了计算资源成本。展望目前我们正在进行软硬件结合,以及上层数据库引擎与分布式存储融合优化,性能将会超出传统本地盘的性能。 摘要: 随着阿里集团电商、物流、大文娱等业务的蓬勃发展,数据库实例以及数据存储规模不断增长,在传统基于单机的运维以及管理模式下,遇到诸多如成本,调度效率等问题,因此,2017年首次对数据...

    DobbyKim 评论0 收藏0
  • 解DBA之惑:据库承载能力评估及优化手段

    摘要:重点观察,数据库的承载力变化主要性能瓶颈等。如判断就是数据库的承载能力不够,可按照不同层次进行考虑。在整个评估数据库承载能力中,这一步骤是最复杂的也是最难的一部分。要区分清楚是否是数据库承载能力不足,还是其他组件的问题。 作为DBA,有时会被挑战类似这样的问题: 如果现有业务规模增加10倍、100倍,数据库是否能够支撑? 下个月我们搞大促,数据库这边没问题吧? 计划进行去O工作,代码...

    Allen 评论0 收藏0
  • MySQL 到底能不能放到 Docker 里跑?

    摘要:前言前几月经常看到有到底能不能放到里跑的各种讨论。通过流备份的方式将数据备份到远端的备份服务器。备份服务器有多台,分别按照所属机房划分。监控告警系统到底能不能放到里跑在上线这套云平台前,我们还是用传统的来实现监控告警的。 前言 前几月经常看到有 MySQL 到底能不能放到 Docker 里跑的各种讨论。这样做是错的!这样做是对的!说错的理由也说了一大堆,说对的思想也很明确。大家都有道理...

    shadowbook 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<