数码资讯
MySQL运行环境优化(Linux系统)
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
1。修改Linux默认IO调度算法。
Linux默认的IO调度算法CFQ,需要修改截止日期。如果是SSD或PCIe SSD设备,需要修改为空。可以使用以下两个修改。
1、在线动态修改、重启失败。
复制代码代码如下所示:
回声截止时间
提示:这里的SDA代表你需要修改的硬盘,这取决于你的实际情况。
2。修改 / /等grub.conf和永久生效。
修改 / /等grub.conf在内核配置文件中添加一个配置线,例如:
复制代码代码如下所示:
核/ vmlinuz-2.6.32-279.el6.x86_64 RO根= = e01d6bb4-bd74-404f-855a-0f700fad4de0 UUID rd_no_luks rd_no_lvm郎= en_us.utf-8 rd_no_md sysfont = latarcyrheb-sun1
6 crashkernel =自动键盘类型= =我们rd_no_dm PC当电梯=期限rhgb安静
关注电梯参数,如果您设置了内核,您需要重新启动系统才能生效。
最后,它可以通过猫/系统/队列/调度程序来观察,修改前后的差异。
两。展开文件描述符
这是一个经常修改的参数,程序的高并发性将被修改。
1。动态修改、重新启动失败,只使用root,当前会话是有效的。
复制代码代码如下所示:
ulimit -n 51200
2,修改配置文件,永久效果。
添加一行 / / / limits.conf等安全配置文件
复制代码代码如下所示:
*硬nofile 51200
扩大开放过程流程数/等/安全/ limits.conf
添加一行 / / / limits.conf等安全配置文件
复制代码代码如下所示:
*硬nproc 51200
最后,修改文件添加
复制代码代码如下所示:
会议要求 / / / pam_limits.so lib64安全
重新启动系统并使用ulimit -a命令来查看它是否是有效的。
三。禁用NUMA特性
新一代的NUMA架构不适合运行数据库,这是为了提高内存利用率,但实际效果并不好,这可能会导致一个CPU的内存还有剩余,而另一个是不够的,交换的问题,所以建议关闭或修改NUMA调度机制。
1、修改 / /等grub.conf关闭NUMA,生效后重启。
复制代码代码如下所示:
核/ vmlinuz-2.6.32-279.el6.x86_64 RO根= = e01d6bb4-bd74-404f-855a-0f700fad4de0 UUID rd_no_luks rd_no_lvm郎= en_us.utf-8 rd_no_md sysfont = latarcyrheb-sun1
6 crashkernel =自动键盘类型= =我们rd_no_dm PC当电梯= = rhgb安静了期限NUMA
2、修改 / /初始化等。D / MySQL或mysqld_safe脚本启动mysqld进程设置NUMA调度机制,例如。
在以下的mysqld_safe脚本的新版本,所以你不需要添加的,你可以看看你的mysqld_safe脚本有以下内容。
复制代码代码如下所示:
如果真的numa_interleave -情商测试1美元
然后
#定位numactl,确保它的存在。
如果!my_which numactl > / dev /空2 > 1
然后
log_error numactl命令没有找到,所需的 u2013 NUMA交织
1号出口
#试图运行一个命令,确保作品。
Elif!numactl u2013交织=真
然后
log_error numactl失败,检查是否正确安装了numactl
网络启动mysqld和numactl。#
CMD CMD =美元numactl交错=所有
elif测试numa_interleave -情商1美元
然后
log_error numa交织在这个平台上不支持
1号出口
FI
四。修改swappiness设置
swappiness是Linux内核参数,用于物理内存交换策略控制。它允许一个百分比的最小值为0,最大值是100,默认值是60,可以通过下面的命令来观察。
复制代码代码如下所示:
sysctl - grep swappiness | #
vm.swappiness = 60
这个设定值的影响是什么
vm.swappiness设置为0,最大限度地减少互换使用,100说不活跃的内存页交换到交换或缓存(Cache释放类似预读文件)。
无效的内存是指程序映射,但记忆,长时间不使用,我们可以使用vmstat系统中看到多少消极的记忆。
复制代码代码如下所示:
# vmstat - 1
特效————-记忆-交换 u2013 - IO——————————————CPU
R B swpd自由全段活性硅Bi Bo CS
0016930764192752 367332028601732001 3100109900
1016930764192752 367332028601732000 11362710010000
0016930764192748 367332028601732000 561167325109900
0016930764192740 367332028601732000 4010391640010000
在centos7,这个推荐值设置为0,但在新版本的内核,这样的设置可能会导致OOM(内存溢出),内核将杀死,用最记忆mysqld进程。
现在,值建议设置为1,设置方法如下所示:
添加一行在 / / sysctl.conf文件等。
复制代码代码如下所示:
vm.swappiness = 1
sysctl - P / / #运行这个命令,立即进行配置。
五、优化文件系统挂载参数。
首先,关于文件系统的使用,很多在线测试,令人眼花缭乱。一般结论如下。
XFS > ext3:xfs性能优于ext3
ext4 > ext3:EXT4性能优于ext3
ext4的XFS:XFS和ext4的谁是好的我不这么说。
然后它是用来挂载文件系统的参数:
复制代码代码如下所示:
违约,noatime,nodiratime,屏障= 0(使用nobarrier XFS)
文件系统挂载参数是 / / fstab文件等并重新启动时生效修改。
noatime表明访问时间没有记录,和nodiratime不记录目录的访问时间。
障碍= 0,这意味着关闭屏障功能的主要目的。屏障是保证磁盘写入数据的安全,但会降低性能。如果有一个备用电池电源如BBU确保控制卡不关机的一瞬间,该功能可以安全地关上下来。
您可以看到配置是否由命令生效。
复制代码代码如下所示:
#猫/ proc /坐骑
rootfs / rootfs RW 00
程序或子程序的RW,nosuid将,则nodev,noexec,relatime 00
sysfs /系统sysfs RW,seclabel,nosuid将,则nodev,noexec,relatime 00
Devtmpfs /dev devtmpfs RW, seclabel, nosuid, relatime, size=8188388k, nr_inodes=2047097, mode=755 00
devpts / dev /分devpts RW,seclabel,relatime,GID = 5,模式= 620,00 = 000 ptmxmode
tmpfs / dev / SHM tmpfs RW,seclabel,nosuid将,则nodev,relatime 00
/ / / dev sda3 EXT4 RW,seclabel,relatime,noatime,nodiratime,屏障= 0,00 =有序数据
没有/ SELinux selinuxfs RW,relatime 00
devtmpfs / dev devtmpfs RW,seclabel,nosuid将relatime,大小=,8188388k,nr_inodes = 2047097,00 = 755模式
/ proc /公共汽车/ USB / proc /公共汽车/ USB USB系统RW,relatime 00
没有/程序/系统/ FS / binfmt_misc binfmt_misc RW,relatime 00
/ / / dev安装引导ext4 RW,seclabel,noatime,nodiratime,屏障= 0,00 =有序数据
Linux默认的IO调度算法CFQ,需要修改截止日期。如果是SSD或PCIe SSD设备,需要修改为空。可以使用以下两个修改。
1、在线动态修改、重启失败。
复制代码代码如下所示:
回声截止时间
提示:这里的SDA代表你需要修改的硬盘,这取决于你的实际情况。
2。修改 / /等grub.conf和永久生效。
修改 / /等grub.conf在内核配置文件中添加一个配置线,例如:
复制代码代码如下所示:
核/ vmlinuz-2.6.32-279.el6.x86_64 RO根= = e01d6bb4-bd74-404f-855a-0f700fad4de0 UUID rd_no_luks rd_no_lvm郎= en_us.utf-8 rd_no_md sysfont = latarcyrheb-sun1
6 crashkernel =自动键盘类型= =我们rd_no_dm PC当电梯=期限rhgb安静
关注电梯参数,如果您设置了内核,您需要重新启动系统才能生效。
最后,它可以通过猫/系统/队列/调度程序来观察,修改前后的差异。
两。展开文件描述符
这是一个经常修改的参数,程序的高并发性将被修改。
1。动态修改、重新启动失败,只使用root,当前会话是有效的。
复制代码代码如下所示:
ulimit -n 51200
2,修改配置文件,永久效果。
添加一行 / / / limits.conf等安全配置文件
复制代码代码如下所示:
*硬nofile 51200
扩大开放过程流程数/等/安全/ limits.conf
添加一行 / / / limits.conf等安全配置文件
复制代码代码如下所示:
*硬nproc 51200
最后,修改文件添加
复制代码代码如下所示:
会议要求 / / / pam_limits.so lib64安全
重新启动系统并使用ulimit -a命令来查看它是否是有效的。
三。禁用NUMA特性
新一代的NUMA架构不适合运行数据库,这是为了提高内存利用率,但实际效果并不好,这可能会导致一个CPU的内存还有剩余,而另一个是不够的,交换的问题,所以建议关闭或修改NUMA调度机制。
1、修改 / /等grub.conf关闭NUMA,生效后重启。
复制代码代码如下所示:
核/ vmlinuz-2.6.32-279.el6.x86_64 RO根= = e01d6bb4-bd74-404f-855a-0f700fad4de0 UUID rd_no_luks rd_no_lvm郎= en_us.utf-8 rd_no_md sysfont = latarcyrheb-sun1
6 crashkernel =自动键盘类型= =我们rd_no_dm PC当电梯= = rhgb安静了期限NUMA
2、修改 / /初始化等。D / MySQL或mysqld_safe脚本启动mysqld进程设置NUMA调度机制,例如。
在以下的mysqld_safe脚本的新版本,所以你不需要添加的,你可以看看你的mysqld_safe脚本有以下内容。
复制代码代码如下所示:
如果真的numa_interleave -情商测试1美元
然后
#定位numactl,确保它的存在。
如果!my_which numactl > / dev /空2 > 1
然后
log_error numactl命令没有找到,所需的 u2013 NUMA交织
1号出口
#试图运行一个命令,确保作品。
Elif!numactl u2013交织=真
然后
log_error numactl失败,检查是否正确安装了numactl
网络启动mysqld和numactl。#
CMD CMD =美元numactl交错=所有
elif测试numa_interleave -情商1美元
然后
log_error numa交织在这个平台上不支持
1号出口
FI
四。修改swappiness设置
swappiness是Linux内核参数,用于物理内存交换策略控制。它允许一个百分比的最小值为0,最大值是100,默认值是60,可以通过下面的命令来观察。
复制代码代码如下所示:
sysctl - grep swappiness | #
vm.swappiness = 60
这个设定值的影响是什么
vm.swappiness设置为0,最大限度地减少互换使用,100说不活跃的内存页交换到交换或缓存(Cache释放类似预读文件)。
无效的内存是指程序映射,但记忆,长时间不使用,我们可以使用vmstat系统中看到多少消极的记忆。
复制代码代码如下所示:
# vmstat - 1
特效————-记忆-交换 u2013 - IO——————————————CPU
R B swpd自由全段活性硅Bi Bo CS
0016930764192752 367332028601732001 3100109900
1016930764192752 367332028601732000 11362710010000
0016930764192748 367332028601732000 561167325109900
0016930764192740 367332028601732000 4010391640010000
在centos7,这个推荐值设置为0,但在新版本的内核,这样的设置可能会导致OOM(内存溢出),内核将杀死,用最记忆mysqld进程。
现在,值建议设置为1,设置方法如下所示:
添加一行在 / / sysctl.conf文件等。
复制代码代码如下所示:
vm.swappiness = 1
sysctl - P / / #运行这个命令,立即进行配置。
五、优化文件系统挂载参数。
首先,关于文件系统的使用,很多在线测试,令人眼花缭乱。一般结论如下。
XFS > ext3:xfs性能优于ext3
ext4 > ext3:EXT4性能优于ext3
ext4的XFS:XFS和ext4的谁是好的我不这么说。
然后它是用来挂载文件系统的参数:
复制代码代码如下所示:
违约,noatime,nodiratime,屏障= 0(使用nobarrier XFS)
文件系统挂载参数是 / / fstab文件等并重新启动时生效修改。
noatime表明访问时间没有记录,和nodiratime不记录目录的访问时间。
障碍= 0,这意味着关闭屏障功能的主要目的。屏障是保证磁盘写入数据的安全,但会降低性能。如果有一个备用电池电源如BBU确保控制卡不关机的一瞬间,该功能可以安全地关上下来。
您可以看到配置是否由命令生效。
复制代码代码如下所示:
#猫/ proc /坐骑
rootfs / rootfs RW 00
程序或子程序的RW,nosuid将,则nodev,noexec,relatime 00
sysfs /系统sysfs RW,seclabel,nosuid将,则nodev,noexec,relatime 00
Devtmpfs /dev devtmpfs RW, seclabel, nosuid, relatime, size=8188388k, nr_inodes=2047097, mode=755 00
devpts / dev /分devpts RW,seclabel,relatime,GID = 5,模式= 620,00 = 000 ptmxmode
tmpfs / dev / SHM tmpfs RW,seclabel,nosuid将,则nodev,relatime 00
/ / / dev sda3 EXT4 RW,seclabel,relatime,noatime,nodiratime,屏障= 0,00 =有序数据
没有/ SELinux selinuxfs RW,relatime 00
devtmpfs / dev devtmpfs RW,seclabel,nosuid将relatime,大小=,8188388k,nr_inodes = 2047097,00 = 755模式
/ proc /公共汽车/ USB / proc /公共汽车/ USB USB系统RW,relatime 00
没有/程序/系统/ FS / binfmt_misc binfmt_misc RW,relatime 00
/ / / dev安装引导ext4 RW,seclabel,noatime,nodiratime,屏障= 0,00 =有序数据
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。