Percona5.6增加了对NUMA架构的支持

本文介绍如何通过调整NUMA架构配置来优化MySQL数据库性能。默认情况下,MySQL倾向于使用SWAP而非分配给其它节点的内存,这可能导致性能下降。通过开启交叉分配模式可以解决这一问题。

目前主流服务器都支持NUMA架构,我们可以通过命令numactl --hardware查看,如图:

wKiom1MNyfqgoz6yAAEFc8jxlwA801.jpg

在这里,NUMA架构把CPU逻辑上划分为两个节点node0和node1,每个节点上分配4核CPU、16G内存。

NUMA默认策略:内存优先分配给node0,当InnoDB_Buffer_Pool设置为22G时,node0使用完本地内存,此时就应该使用node1节点的内存,但它宁可使用SWAP,也不会选择node1,所以这里就会出现剩余内存还有很多,但却使用到了SWAP,导致数据库性能出现抖动。


针对这个问题,Percona做了改善,只需在my.cnf里,加上

[mysqld_safe]
numa_interleave = 1

调整策略为交叉分配模式,使每个节点都承载均衡的内存分配。


如果你的版本是官方的,启动MySQL时用命令:

numactl --interleave=all mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

wKioL1MNznyx2au7AAFeGokh3LQ730.jpg


参考手册:

wKiom1MNzsiAa8MMAAFUdtSzv48838.jpg

http://www.percona.com/doc/percona-server/5.6/performance/innodb_numa_support.html




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值