首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

技术分享 | 浅谈 NUMAMySQL

---- 背景 该问题来自于在给客户部署 MySQL 前进行服务器环境配置时,涉及到服务器配置项关闭 numa,客户对此配置项的必要性产生了疑虑。针对这一疑虑,进行了以下关于 numa 的研究。...MySQL 数据库是单进程多线程的架构,在开启的 NUMA 服务器中,内存被分配到各 NUMA Node 上,而 MySQL 进程只能消耗所在节点的内存。...三、如何关闭 NUMA 1. 硬件层,在 BIOS 中设置关闭; 2....从 MySQL 5.7.17 开始,CMake 编译软件新增了 WITH_NUMA 参数,可以在支持 NUMA 的 Linux 系统上编译 MySQL。...关于 NUMA 的建议 若是专用的 MySQL 服务器,可以直接在 BIOS 层或者 OS 内核层关闭 NUMA; 若希望其他进程使用 NUMA 特性,可以选择合适的 MySQL 版本开启 innodb_numa_interleave

2.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    NUMA特性对MySQL性能的影响测试

    NUMA的结构如图: 0a04640d1898668a239044abb9f952051437918308[1].jpg NUMA的特点:内存直接绑定在CPU上,CPU只有访问自身管理的内存物理地址时...经常内存还有耗尽,Mysql就已经使用Swap照成抖动,这就是"Swap Insanity"。因为Mysql的线程模型对NUMA支持不好,所以微信支付DB一般不使用NUMA。...这时通过内核中设置numa=off或者numactl --interleave=all来关闭这个特性。 微信红包新架构需要启用单机多实例,为了性能最佳。...利用NUMA特性改进MySQL的多核利用率和竞争,实现性能最佳和影响隔离。 NUMACTL命令说明: --interleave=nodes :在指定节点上交织分配。...准备2个实例,绑定到不同核心,多实例测试开始: MySQL1(bind 0) MySQL2(bind 1) --cpunodebind=0 --localalloc 2.572 2.656 --interleave

    3.9K61

    MySQL -- 关闭 binlog

    LNMP一键安装包安装的MySQL默认是开启了日志文件的,如果数据操作比较频繁就会产生大量的日志,在/usr/local/mysql /var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十...MB到几个GB,更甚会吃掉整个硬盘空间,从来导致mysql无法启动或报错,如vps论坛用户的反馈。...如何关闭MySQL的日志功能: 在cmd下进到mysql下的bin目录下,输入mysql -u root -p然后输入密码,成功进去后输入 reset master。...: 修改/etc/my.cnf 文件,找到 log-bin=mysql-bin binlog_format=mixed 再这两行前面加上#,将其注释掉,再执行/etc/init.d/mysql restart...本文以LNMP一件安装包安装的环境为例 除MySQL重启命令和配置文件路径可能略有不同,其他一样。

    9K32

    mysql无故关闭_宝塔的mysql老是自己关闭停止

    宝塔的mysql老是自己关闭停止 最近一个安装宝塔环境的项目,mysql老是关闭停止了。连续好多次了,然后我就发现不对劲。...如果还是无法启动,则就需要删除mysql数据目录下的 “ibdata1、ib_logfile*” 等文件 (删除前,提前做好备份),然后再做Mysql服务启动操作!!...文件损坏),尝试启动Mysql服务失败。...————————————————————————————————————- 记一次事故: 线上Mysql环境采用一主两从模式,突然一天上午发现主从库的Mysql服务都启动失败,最后排查是Mysql共享表空间...未经允许不得转载:肥猫博客 » mysql无故关闭_宝塔的mysql老是自己关闭停止

    3.5K30

    【Linux 内核】NUMA 非一致内存访问结构 ( NUMA 概念介绍 | NUMA 架构优势分析 | SMP、NUMA、MPP 架构 )

    文章目录 一、NUMA 非一致内存访问结构 二、NUMA 架构优势分析 二、SMP、NUMA、MPP 架构 一、NUMA 非一致内存访问结构 ---- 非一致内存访问结构 , 英文名称 Non Uniform...Memory Access , 简称 NUMA ; " 非一致内存访问结 " 的 系统 , 有 多个 CPU 处理器 , 每个 处理器 都有 自己的 独立的本地内存 , 每个 CPU 处理器只支持 自己的本地内存快速访问...各个 CPU 处理器之间通过 " 总线 " 连接 ; 处理器通过 " 总线 " 可以 访问 其它处理器 的 " 内存 " , 但是 处理器 访问 自己的内存 要比 访问 其它处理器的内存 速度要快 ; NUMA...非一致内存访问结构 , 可以 支持 CPU 扩展 , 可以扩展上百 CPU 处理器 ; 二、NUMA 架构优势分析 ---- NUMA 非一致内存访问结构 ( Non Uniform Memory..., 这样为了 保证事物的执行性能 , 需要 减少 CPU 处理器之间的数据交互 , NUMA 架构 只 适合 OLTP ( On-Line Transaction Processing 联机事务处理过程

    5.2K20

    MySQL 在线开启关闭GTID

    一 前言 MySQL DBA大都熟悉 MySQL 5.6版本开始提供基于 GTID模式的主从复制,该特性简化复制和降低主从复制维护的难度,提高复制的可运维性,不再依赖binlog文件名和文件中的位置。...但是它有很多限制,5.7版本MySQL支持对GTID做了如下改进: a 不需要重启MySQL服务器. b 配置过程在线,整个复制集群仍然对外提供读和写的服务. c 不需要改变复制拓扑结构. d 可以在任何结构的复制集群中在线启用...=sysbench --mysql-user=sysbench --mysql-password=sysbench --mysql-socket=/srv/my3316/run/mysql.sock -...还没呢,记得修改my.cnf 添加 gtid_mode = on enforce_gtid_consistency = on 三 在线关闭GTID 关闭GTID的步骤其实和开启的步骤相反: 3.1 关闭...://dev.mysql.com/doc/refman/5.7/en/replication-mode-change-online-disable-gtids.html

    9.2K21

    MySQL 启动及关闭 MySQL 服务器

    启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录。...启动: cd c:/mysql/bin mysqld --console 关闭: cd c:/mysql/bin mysqladmin -uroot shutdown Linux 系统下 首先,我们需要通过以下命令来检查...MySQL服务器是否启动: ps -ef | grep mysqld 如果MySql已经启动,以上命令将输出mysql进程列表, 如果mysql未启动,你可以使用以下命令来启动mysql服务器: root.../mysqld_safe & 如果你想关闭目前运行的 MySQL 服务器, 你可以执行以下命令: root@host# cd /usr/bin ....---- 管理MySQL的命令 以下列出了使用Mysql数据库过程中常用的命令: USE 数据库名 : 选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

    6.8K00

    NUMA导致的MySQL服务器SWAP问题分析与解决方案

    4、讲几个重要的概念 内存节点node,在NUMA的情况下,CPU访问不同位置的内存,会有本地内存和远端内存之分,这两个就是不同的节点。...【关闭NUMA的方案】 1、 在MySQLd_safe脚本中加上“numactl –interleave all”来启动mysqld 2、 Linux Kernel启动参数中加上numa=off,需要重启服务器...3、 在BIOS层面关闭NUMA 4、 MySQL 5.6.27/5.7.9开始引用innodb_numa_interleave选项 对于2、3、4关闭NUMA的方案比较简单,不做详细描述,下面重点描述下...`$NOHUP_NICENESS"下新增一条脚本 cmd="/usr/bin/numactl --interleave all $cmd" 3、service mysql stop 4、#写入硬盘,防止数据丢失...;sync;sync 5、#延迟10秒 sleep 10 6、#清理pagecache、dentries和inodes sysctl -q -w vm.drop_caches=3 7、service mysql

    1.4K20

    CPU & Memory, Part 4: NUMA support

    5.1 NUMA Hardware Figure 2.3是最简单的NUMA形式,处理器可以有自己的本地内存,访问本地内存和其他处理器的本地内存的开销区别不大,即NUMA factor比较低。 ?...后面是已知的几种NUMA的硬件实现,这里就不写了。 5.2 OS Support for NUMA 操作系统在分配内存的时候必须将NUMA考虑进去。...有一些特殊情况只有在NUMA下才需要考虑。...对于较小的NUMA factor(NUMA所带来的额外开销)这个策略是可接受的,但仍然不是最优的(见 Section 5.4),而且它实际上降低了性能。...任何SMP Opteron机器都是一个NUMA机器,我们来看看NUMA信息/sys/devices/system/node。每个NUMA节点都有对应的子目录,子目录里有一些文件。

    1.1K00

    linux上numa架构介绍

    我使用的案例环境如下所示: 机器配置:32 CPU,64GB 内存 在NUMA中储存层次的概念: ? 1)处理器层:单个物理核,称为处理器层。...通过numastat命令可以查看numa状态,返回值内容: numa_hit:是打算在该节点上分配内存,最后从这个节点分配的次数; numa_miss:是打算在该节点分配内存,最后却从其他节点分配的次数...other_node:是其他节点进程在该节点上分配的次数 注:如果发现 numa_miss 数值比较高时,说明需要对分配策略进行调整。...所以在运维层面,我们也需要关注NUMA架构下的内存使用情况(多个内存节点使用可能不均衡),并合理配置系统参数(内存回收策略/Swap使用倾向),尽量去避免使用到Swap。...node0 CPU(s): 0-7 NUMA node1 CPU(s): 8-15 NUMA node2 CPU(s): 16-23 NUMA node3 CPU(s):

    2.7K20

    MySQL 启动及关闭 MySQL 服务器管理

    启动及关闭 MySQL 服务器 Windows 系统下 在 Windows 系统下,打开命令窗口(cmd),进入 MySQL 安装目录的 bin 目录。...启动: cd c:/mysql/bin mysqld --console 关闭: cd c:/mysql/bin mysqladmin -uroot shutdown Linux 系统下 首先,我们需要通过以下命令来检查...MySQL服务器是否启动: ps -ef | grep mysqld 如果MySql已经启动,以上命令将输出mysql进程列表, 如果mysql未启动,你可以使用以下命令来启动mysql服务器: root.../mysqld_safe & 如果你想关闭目前运行的 MySQL 服务器, 你可以执行以下命令: root@host# cd /usr/bin ....---- 管理MySQL的命令 以下列出了使用Mysql数据库过程中常用的命令: USE 数据库名 : 选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。

    4.7K10

    Hyper-V性能加速之NUMA

    NUMA采用分组的形式,限制一个NUMA节点里面的CPU数量和内存大小,并使用缓存一致性内部连接总线将各个NUMA节点连接起来,如图2所示。...Hyper-V为虚机提供虚拟NUMA节点,虚拟NUMA的拓扑结构及原理与物理机的NUMA拓扑及结构一致,虚拟CPU和虚机内存组合成虚拟NUMA节点,每个虚机的虚拟NUMA节点都映射到相关的物理CPU上,...每颗CPU和它临近的内存组成一个NUMA拓扑节点,因此物理机一共有两个NUMA节点,每个NUMA节点包含20个逻辑核和128GB内存,如果虚机启用NUMA映射,那么这个虚机的NUMA节点拓扑里包含最大的虚拟...图4 虚拟NUMA也支持跨物理NUMA,如果单个虚拟NUMA超过了单个物理NUMA节点的CPU数量,可能会出现虚机NUMA拓扑和物理机NUMA拓扑出现偏离的情况,导致CPU访问远程内存的情况发生,如图5...同理,如果虚机的NUMA节点的CPU超过了物理机NUMA节点的CPU,这些CPU也将访问其他NUMA节点的远程内存。

    2.8K32
    领券