MySQL硬件和系统优化

时间:2021-05-06 05:51:53

1、硬件和系统优化

1、关闭NUMA

    使用NUMA,将使内存分配不均衡,造成使用swap,引起数据库变慢。

BIOS中设置Node Interleaving为Enabled,默认为Disabled.

BIOS忘记关闭,可以在系统层面关闭。修改/etc/grub.conf

kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/  elevator=deadline  numa=off  rhgb quiet

数据库层面关闭NUMA

numactl  --interleave all /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

 

2、建议选择最大性能模式,避免节能模式导致性能不足。

 

3、 一定要选择RAID10。

 

4、建议在有BBU电池的时候,RAID卡选择FORCE WB模式: .

Write Through:系统的写磁盘操作并不利用阵列卡的Cache,而是直接与磁盘进行数据的交互,影响写入性能。

Write Back:利用阵列Cache作为系统与磁盘间的二传手,系统先将数据交给Cache,然后再由Cache将数据传给磁盘,可提高写入性能。

Write Back with BBU:此是阵列卡配有Battery Backup模块元时的可选项,它的作用是用以在系统断电时保护Cache中的数据,避免断电造成中间数据的丢失。

 MySQL硬件和系统优化

 

 

/opt/MegaRAID/MegaCli/MegaCli64 -LDGetProp -Cache -LALL -aALL

 

5、IO调度策略:

首选deadline,如果是SSD可以选noop,其他不考虑。

修改/etc/grub.conf,重启系统。

kernel /boot/vmlinuz-2.6.18-8.el5 ro root=LABEL=/  elevator=deadline  numa=off  rhgb quiet

在线修改:echo deadline > /sys/block/sda/queue/scheduler

 

6、内存优化:建议内存最大性能模式

   cat /proc/sys/vm/swappiness

   默认为60

   vim /etc/sysctl.conf

   vm.swappiness=5

   sysctl vm.swappiness=5

 

7、文件系统选用默认的ext4。

8、ulimit设置65535  在root账号、mysql、sa账号都设置65535

     ulimit -n 设置

    1) 直接修改/etc/security/limits.conf , 只能修改非root用户

2) 对于root用户,可以在/etc/profile 中设置ulimit -HSn 65535

  ulimit -u设置

    cat /etc/security/limits.d/90-nproc.conf

mysql       soft    nproc     65535

     mysql 层面检测一下open_files_limit。

 

9、数据库只要/分区、swap分区。swap 16G

 

10、建议系统安装MegaCli64,检测磁道是否有损坏。