您的位置:首页 > 运维架构 > Linux

转载: mysql在linux中的通用…

2015-01-18 20:18 288 查看
转自:http://www.mysqlperformanceblog.com/2013/12/07/linux-performance-tuning-tips-mysql/

Filesystem

ext4 (or xfs), mount with noatime

Scheduler – use deadline or noop

Shell

# echo deadline >/sys/block/sda/queue/scheduler
add "elevator=deadline" to grub.conf

1
2

# echo deadline
>/sys/block/sda/queue/scheduler
add
"elevator=deadline" to grub.conf

(For more info see
Linux Schedulers in TPCC like benchmark)

Memory

Swappiness and NUMA:

Shell

# echo 0 > /proc/sys/vm/swappiness
add "vm.swappiness = 0" to /etc/sysctl.conf

1
2

# echo 0 >
/proc/sys/vm/swappiness
add
"vm.swappiness = 0" to /etc/sysctl.conf

Set numa interleave all

Shell

numactl --interleave=all

1

numactl --interleave=all

If using Percona Server we can place it into mysqld_safe
script, as
Percona Server supports NUMA control.

Jeremy Cole blog contains
excellent overview of NUMA as well as
additional NUMA tools

(and do not forget about innodb_flush_method=O_DIRECT)

CPU

Make sure there is no powersave
mode enabled:

Check
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

and make sure it is
not ondemand

Check /proc/cpuinfo and compare cpu
MHz number to what is listed under the “model name”

Disable the “ondemand” if it is
running

Example: “ondemand” is running on all the servers

Shell

$ ps ax| grep kondemand|wc -l
65
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand

1
2
3
4

$ ps
ax|
grep kondemand|wc -l
65

$ cat
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand

and we have this:

Shell

/proc/cpuinfo:
model name : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz
..
cpu MHz : 1200.000

1
2
3
4

/proc/cpuinfo:
model name
: Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz

..
cpu
MHz :
1200.000

In this case we will need to disable “ondemand”.

Memory allocator = jemalloc (http://www.canonware.com/jemalloc/). It is used in
Percona installation

setting the swappiness to zero means that if something fails the
mysqld might crash rather than going into swap, so its probably
safer to keep a bit of swapiness, not as high as the default, but
some, just in case…

also on demand governor might help you to keep the box on low
load, especially with small databases, but if you have a somewhat
reasonable size database, it might make the performance on the
database better if you keep it running without ondemand.

for the grub parameter, deadline is really good, but reading
into kernel options, ive found the following kernel bootline more
effective:

elevator=noop intel_iommu=on transparent_hugepage=always
acpi_irq_nobalance

irq_nobalance here is the parameter that gets things really
rolling on an ubuntu server, it reduces the total load of the
system by around 60%, as irq polling does not happen every second,
i like to manage the irqs from bios anyways.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: