转载: mysql在linux中的通用…

转自: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
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
1
2
# echo 0 > /proc/sys/vm/swappiness
add "vm.swappiness = 0" to / etc / sysctl .conf
  • Set numa interleave all
Shell
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
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
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.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值