暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL 101:针对MySQL的Linux调优

原创 小小亮 2020-07-08
1077

Swappiness

首先要看的是交换性设置。这将确定内核换出内存页面的趋势。在某些情况下,您可能希望将其设置为“ 1”,以使交换最小。值为“ 0”将完全禁用它。

您可以使用以下命令确定当前值:

cat /proc/sys/vm/swappiness

如果未将其设置为“ 1”,则应考虑使用以下选项之一进行更改:

# Make sure you are root and set swappiness to 1 
echo 1 > /proc/sys/vm/swappiness

# Or, you can use sysctl to do the same sysctl 
vm.swappiness vm.swappiness = 1

如果更改有帮助,您将希望通过在/etc/sysctl.conf中进行更改将其永久化:

vm.swappiness = 1

I / O调度程序

许多系统的默认设置为“空转”或“最后期限”。在几乎所有情况下,“空打”比“最后期限”,“ cfq”或“预期”更有效。要检查I / O Scheduler的当前值,请发出以下命令:

cat /sys/block/sdb/queue/scheduler

如果要使用“ noop”测试性能,请尝试以下命令:

sudo echo noop > /sys/block/sdb/queue/scheduler

如果要永久保留更改,则需要在GRUB配置文件中执行以下操作:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash elevator=noop"

CPU调速器

大多数现代处理器都可以在许多不同的时钟频率和电压配置下运行。这些被称为操作性能点或P状态。通常,时钟频率越高,电压越高,随着时间的推移,CPU可以执行的指令越多。同样,时钟频率和电压越高,消耗的能量越多。因此,在CPU容量和处理器消耗的功率之间要进行权衡。

您可以通过以下命令检查正在使用的驱动程序和调控器:

cpupower frequency-info
...
driver: acpi-cpufreq
...
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
...
The governor "ondemand" may decide which speed to use within this range.
...

在上面,您可以看到驱动程序为“ acpi-cpufreq”,并且调节器设置为“ ondemand”。

您还可以通过发出以下命令来检查调控器设置:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

如果可以选择“性能”,则可以通过发出以下命令进行更改:

echo "performance" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

当然,您将要确定这是否对性能有所帮助,因此测试至关重要。

NUMA

NUMA代表“非统一内存访问”。使用NUMA,SMP的系统处理器可以比非本地内存更快地访问其自己的本地内存。这可能会导致交换,从而对数据库性能产生负面影响。当分配给InnoDB缓冲池的内存大于可用RAM的数量并且选择了默认内存分配策略时,很可能会发生交换。启用NUMA的服务器将报告CPU节点之间的不同节点距离。

您可以使用以下方法确定设置:

numactl --hardware

每当numactl在节点之间显示不同距离时,应启用MySQL变量innodb_numa_interleave以确保内存交错。使用Percona Server,可以通过使用flush_caches变量来改善对NUMA的支持。这将有助于跨节点分配公平。要确定节点之间的分配是否相等,可以使用以下脚本检查numa_maps:https : //github.com/sonots/bin/blob/master/numa-maps-summary.pl

结论

通常情况下,在生产之前,应始终测试在较低环境中所做的任何更改。工作负载是如此不同,您必须查看所有更改如何影响您的系统。

文章来源:https://www.percona.com/blog/2020/07/06/mysql-101-linux-tuning-for-mysql/

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论