你的位置:首页 > 软件开发 > 数据库 > MySQL 调优基础(一) CPU与进程

MySQL 调优基础(一) CPU与进程

发布时间:2015-09-30 22:00:26
一般而言,MySQL 的调优可以分为两个层面,一个是在MySQL层面上进行的调优,比如SQL改写,索引的添加,MySQL各种参数的配置;另一个层面是从操作系统的层面和硬件的层面来进行调优。操作系统的层面的调优,一般要先定位到是那种资源出现瓶颈—&mda ...

MySQL 调优基础(一) CPU与进程

一般而言,MySQL 的调优可以分为两个层面,一个是在MySQL层面上进行的调优,比如SQL改写,索引的添加,MySQL各种参数的配置;另一个层面是从操作系统的层面和硬件的层面来进行调优。操作系统的层面的调优,一般要先定位到是那种资源出现瓶颈——CPU、 内存、硬盘、网络,然后入手调优。所以其实MySQL 的调优,其实不是那么简单,它要求我们对 硬件、OS、MySQL 三者都具有比较深入的理解。比如 NUMA 架构的CPU是如何分配CPU的,以及是如何分配内存的,如何避免导致SWAP的发生;Linux 系统的IO调度算法选择哪一种——CFQ、DEADLINE、NOOP、还是 ANTICIPATORY;MySQL的redo log和undo log它们的写哪个是顺序写,哪个是随机写?

所以其实,如果想要对 MySQL 进行调优,要求我们必须对 硬件和OS,以及MySQL的内部实现原理,都要有很好的掌握。本文关于MySQL调优基础之 CPU和进程

1. CPU 架构之 NUMA和SMP

SMP:称为共享内存访问CPU(Shared Memory Mulpti Processors), 也称为对称型CPU架构(Symmetry Multi Processors)

NUMA:非统一内存访问 (Non Uniform Memory Access)

它们最重要的区别在于内存是否绑定在各个物理CPU上,以及CPU如何访问内存:

SMP架构的CPU内部没有绑定内存,所有的CPU争用一个总线来访问所有共享的内存,优点是资源共享,而缺点是总线争用激烈。随着PC服务 器上的CPU数量变多(不仅仅是CPU核数),总线争用的弊端慢慢越来越明显,于是Intel在Nehalem CPU上推出了NUMA架构,而AMD也推出了基于相同架构的Opteron CPU。

NUMA 最大的特点是引入了node和distance的概念,node内部有多个CPU,以及绑定的内存。每个node的CPU和内存一般是相等。distance这个概念是用来定义各个node之间调用资源的开销。NUMA架构中内存和CPU的关系如下图所示:avg-cpu:  %user   %nice %system %iowait  %steal   %idle

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:MySQL 调优基础(一) CPU与进程

关键词:MYSQL

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。