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中的数据,避免断电造成中间数据的丢失。
/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,检测磁道是否有损坏。