针对跑MySQL的Linux优化【转】

因为很多MySQL的生产环境都在Linux下,我决定指出一些Linux下跑MySQL的很重要的优化点。这些是大家都知道的,也没什么新东西,但我想在这一个blog里收集整理一下Linux相关的配置优化经验。

文件系统:
ext4(or xfs) mount时使用notime选项
文件系统调度策略: 使用deadline or noop

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

译者推荐: XFS , 目前来看Red hat Enterprise 7 后面XFS成为了默认的文件系统。

内存:
Swappiness and NUMA
译者注: 最好禁掉swappiness 或是在系统标识不使用他。

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

使用numa的interleave all 模式
numactl –interleave=all 启动mysqld
如果使用Percona-server 在mysql_safe里有关于使用numa_interleave的选项。更多关于信息可以查看Percona Server对numa的支持
(并且别忘了使用innodb_flush_method=O_DIRECT)rformance/innodb_numa_s

译者注: 内存优化这块可以考虑使用jemalloc( tokudb,percona都有使用这个方式,官方版本需要自已加载)

CPU:
确认启用CPU的低功耗(powersave)选项
检查:

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

确认这里显示是不是ondemand,如查是则启用了节能模式。

另外检查/proc/cpuinfo并对比cpu MHZ的数字和”model name”后面显示的数字是否一样
如果使用了ondemand请禁用他。

例如: “ondemand” 在服务器上运行:

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

另外查看CPU的标注频率是否和实际频率相符:

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

如果不符请禁用ondemand(需要更改bois里的配置)

译者注: 如果CPU超过24个核,建议使用MySQL5.6后面的版本。

时间: 2024-10-09 06:44:33

针对跑MySQL的Linux优化【转】的相关文章

针对 MySQL 的 Linux 优化

1.OS文件系统的选择 使用Linux系统时,应选用 ext4 或 xfs 文件系统,业界资深人士推荐 xfs.查看文件系统方法如下: [[email protected] ~]# df -lhT Filesystem Type Size Used Avail Use% Mounted on /dev/sda2 ext4 62G 2.2G 57G 4% / tmpfs tmpfs 32G 0 32G 0% /dev/shm /dev/sda1 ext3 97M 26M 67M 28% /boot

针对MySQL大表优化方案

详解MySQL大表优化方案 (1).字段 (2).索引 (3).规范查询SQL (4).存储引擎 (5).mysql配置参数优化 (6).mysql读写分离 (7).分区和分表 单表优化: 当单表的数据不是一直在暴增,不建议使用拆分,拆分会带来逻辑,部署,运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的.而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量 (1).字段 l 尽量使用TINYINT.SMALLINT

MySQL数据库性能优化及自动化运维实践教程!DBA日常工作

MySQL数据库性能优化及自动化运维实践教程!本文作者将站在更加全面的角度分享他在这一年多 DBA 工作中的经验,希望可以给大家带来启发和帮助. DBA 的日常工作 我觉得 DBA 真的很忙,我们来看看 DBA 的具体工作:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用. 上面这些是我们 DBA 的功能,了解这些功能以后要对体系结构有更加深入的了解,你不知道怎么处理这些故障和投诉的事情. 所以我们要去了解缓存/线程.SQL 优化.存储引擎.SQL 审计以及锁与实务:体系结构更深一点,就去

Mysql线程池优化笔记

Mysql线程池优化我是总结了一个站长的3篇文章了,这里我整理到一起来本文章就分为三个优化段了,下面一起来看看. Mysql线程池系列一(Thread pool FAQ) 首先介绍什么是mysql thread pool,干什么用的?使用线程池主要可以达到以下两个目的:1.在大并发的时候,性能不会因为过载而迅速下降.2.减少性能抖动 thread pool的工作原理?线程池使用分而治之的方法来限制和平衡并发性.与默认的thread_handling不同,线程池将连接和线程划分开,所以连接数量和执

MYSQL之性能优化 ----MySQL性能优化必备25条

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.希望下面的这些优化技巧对你有用. 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存.这是提高性最有效的方法之一,而且这是被

淘宝内部分享:MySQL & MariaDB性能优化

淘宝内部分享:MySQL & MariaDB性能优化 发表于2015-01-20 16:26| 17496次阅读| 来源mysql.taobao.org| 21 条评论| 作者淘宝数据库团队 MySQL性能优化淘宝数据库 摘要:MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,必须进行不断的优化,而优化是一个复杂的任务,本文描述淘宝数据库团队针对MySQL相关的数据库优化方案. 编者按:MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的

(转)MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

标签:服务器 数据库 老男孩 高薪技能 一线城市 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangweilinux.blog.51cto.com/8340258/1728131 首先在此感谢下我的老师-老男孩专家拥有16年一线实战经验,我当然不能和我的老师平起平坐,得到老师三分之一的真传,所以只有6年,嘿,废话不多说,下面开启MySQL优化之旅! 我们究竟应该如何对MySQL数据库进行优化?下面我就从MySQL对硬件

Mysql数据库性能优化大总结

目录:[TOC] 影响数据库服务器性能的因素 超高的QPS(每秒钟处理的查询量)和TPS导致SQL处理效率下降. 大量的并发导致的数据库连接数被占满和超高的CPU占用率导致资源耗尽服务器宕机. 磁盘IO性能瓶颈导致数据传输效率下降,计划任务导致磁盘IO下降. 网卡IO性能瓶颈,要减少从服务器数量,缓存要分级,避免使用 select * 这样的查询. 大表导致的问题: 不同数据库引擎对于大表的概念是不一样的. InnoDB存储引擎没有明确的大表概念. 实际使用中发现当一个数据表中的数据超过千万行的

Mysql数据库性能优化(一)

参考 http://www.jb51.net/article/82254.htm 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库. mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面