`

(转)针对MySQL的Linux性能调优技巧[翻译]

 
阅读更多
http://mdba.cn/?p=244
原文作者: Alexander Rubin,Percona 工程师
原文连接:Linux performance tuning tips for MySQL
为了方面阅读,我没依照原文按行逐句的进行翻译。另外,我自己的扩充了一下基础知识点,很多知识点也是我第一次去学习,翻阅了一些资料。
原文中对Linux系统参数的优化主要分为文件系统、内存与swap、CPU三方面。
文件系统(Filesystem)
1)使用ext4或者xfs文件系统,mount选项使用noatime选项。
系统默认记录文件创建、修改和上一次访问等信息,记录上last access time需要一定的开销。使用noatime选项,不记录last access time,可以提升系统的性能。
参考:The atime and noatime attribute
2)IO调度算法选择NOOP或则Deadline。
echo deadline > /sys/block/sda/queue/scheduler
add "elevator=deadline" to grub.conf
内存优化(Memory&Swap)
优先使用内存
尽可能使用内存,而少使用swap。只有当内存不够用的时候,系统才会使用swap。
echo 0 > /proc/sys/vm/swappiness
add "vm.swappiness = 0" to /etc/sysctl.conf
屏蔽NUMA特性
设置numactl的interleave参数值为all,即是允许所有的处理器可以交叉访问所有的内存,一致性内存访问(UMA, Uniform Memory Access)方式。
numactl --interleave=all
Node Interleaving: Enable or Disable?详细讲述了交叉访问模式的作用。
The MySQL “swap insanity” problem and the effects of the NUMA architecture深度分析MySQL对于swap的使用和NUMA架构对MySQL的性能影响。
NUMA(Non-Uniform Memory Access)非一致性内存访问架构,是一种多核处理器的内存设计方案。针对每个处理器,NUMA会把全局的存储器分为本地内存(local memory)和非本地内存(no-local memory)。处理器访问本地内存速度比非本地内存的速度快很多。
CPU优化
检查CPU是否开启了节能选项,ondemand表示处于节能状态。[Centos 5.x]
cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
ondemand

ps ax | grep kndemand
2778 ? S< 0:00 [kondemand/0]
2779 ? S< 0:00 [kondemand/1]
2780 ? S< 0:00 [kondemand/2]
2781 ? S< 0:00 [kondemand/3]
2782 ? S< 0:00 [kondemand/4]
2783 ? S< 0:00 [kondemand/5]
2784 ? S< 0:00 [kondemand/6]
2785 ? S< 0:00 [kondemand/7]
上面的的进程状态显示8个cores均开启了节能模式。
另外,通过/proc/cpuinfo中cpu的当前的时钟频率与“model name”中数字是否一致可以得知cpu是否处于节能状态。如下,“model name”显示的2.13GHz,而“cpu Mhz”显示的1867.000MHz,cpu没有达到最大的时钟频率,处于节能状态。
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 26
model name : Intel(R) Xeon(R) CPU E5506 @ 2.13GHz
stepping : 5
cpu MHz : 1867.000
cache size : 4096 KB
Centos6.x 编译内核的时候没有加上cpufreq  performance模块,因此不能使用”cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor”检查cpu是否处于节能工作状态。
也可以使用
watch grep \"cpu MHz\" /proc/cpuinfo
检查cpu的工作频率。
分享到:
评论

相关推荐

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    《mysql管理之道:性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、...

    高性能Linux服务器构建实战:运维监控、性能调优与集群应用

    本书《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》显然是针对那些在Linux环境下工作的高级运维工程师的专业书籍。它专注于从基础的系统安装和配置到服务的管理和维护,再到更深层次的原理和性能优化...

    Mysql运维调优

    ### MySQL性能调优 #### 三、查询优化 1. **索引设计**:合理创建索引可以极大地提高查询速度。需要根据业务需求选择合适的索引类型(如B树、哈希索引等),并注意避免索引过多导致的维护成本增加。 2. **SQL语句...

    Red_Hat_Enterprise_Linux-7-Performance_Tuning_Guide-en-US.pdf

    《Red Hat Enterprise Linux 7 性能调优指南》是一本由 Red Hat 官方编写的书籍,旨在帮助用户理解如何针对特定场景优化 Red Hat Enterprise Linux 7(RHEL 7)系统的性能。本书覆盖了广泛的子系统调优技术,包括但...

    linux服务器性能调整

    通过这些深入且实用的内容,读者能够了解到如何在实际环境中对Linux服务器进行性能调优,从而提高系统的整体效能和稳定性。本书不仅适合Linux运维人员,也适合对Linux性能优化感兴趣的开发人员和系统架构师,是一本...

    mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz

    同时,理解并熟悉MySQL的权限系统、备份策略以及性能调优技巧是每个数据库管理员必备的技能。对于开发者而言,了解如何编写高效的SQL查询,以及何时使用存储过程和视图,都是提升应用性能的关键。

    软件工程中的网络优化与性能调优.pptx

    ### 软件工程中的网络优化与性能调优 #### 第1章 软件工程概述 **软件工程简介** 软件工程是一门涉及软件开发、运行及维护的综合性学科,其核心目标是确保软件产品的高质量产出,同时控制开发成本。随着信息技术...

    Linux下的MySQL数据库编程].赵廷涛等.扫描版

    《Linux下的MySQL数据库编程》这本书由赵廷涛等人编写,针对的是在Linux环境下如何进行MySQL数据库的开发和管理。下面将详细讨论这些知识点。 首先,Linux作为开发环境提供了稳定且可定制的基础。Linux系统以其开源...

    高性能MYSQL1

    针对MySQL的高性能,书中提出了以下调优策略: 1. 索引优化:合理设计和使用索引可以显著提升查询速度。 2. 查询优化:避免全表扫描,减少子查询,使用JOIN操作代替子查询等。 3. 数据库设计:遵循正常化原则,合理...

    mysql-7 (1).pdf

    总之,本课程旨在使学员全面掌握MySQL的性能调优技巧,包括服务器硬件和系统层面的优化、数据库设计和SQL优化,以及高可用性架构如主从复制和读写分离,最终实现MySQL数据库高效稳定运行。通过理论学习与实践操作,...

    LInux性能优化系列课程,一些优化的案例

    在IT领域,Linux性能优化是一项至关重要的技能,尤其对于服务器管理员和系统工程师而言。本系列课程专注于提升Linux系统的运行效率,降低资源消耗,确保服务的稳定性和响应速度。以下是基于标题、描述和标签的一些...

    Linux Performance and Tuning Guidelines.rar_Guidelines_linux_per

    该压缩包包含的PDF文档详细阐述了Linux性能调优的各种策略和技巧,涵盖了从硬件配置、内核参数调整到应用程序优化的广泛主题。 1. **性能评估**: - **监控工具**:书中详细介绍了各种用于监控系统性能的工具,如...

    姜承尧MYSQL DBA视频课程(44天全)高清视频教程下载

    - **性能调优**:监控数据库性能并采取措施提高效率。 - **备份与恢复**:定期备份数据以防止数据丢失,并能在必要时快速恢复数据。 - **安全性管理**:确保数据的安全性,包括权限管理和加密等。 - **故障排除**:...

    高性能mysql第三版.pdf

    ### 六、高级性能调优技术 1. **慢查询日志**:启用慢查询日志记录所有执行时间超过阈值的SQL语句,有助于定位性能瓶颈。 2. **使用工具辅助分析**:Percona Toolkit、MySQLTuner等工具可以帮助快速诊断性能问题并...

    MySQL 5权威指南(第3版).pdf

    《MySQL 5权威指南(第3版)》是MySQL数据库系统的一本详尽参考资料,针对MySQL 5版本进行了深入的探讨。这本书旨在帮助读者全面理解MySQL的各个方面,从基础概念到高级特性,从安装配置到实际操作,为数据库管理员...

    mysql5.6.26

    MySQL 5.6.26 是 MySQL 数据库管理系统的一个重要版本,主要针对 Linux 操作系统设计。MySQL 是世界上最流行的开源关系型数据库之一,以其高效、可靠和易用性著称。在 Linux 上安装 MySQL 二进制文件是很多系统管理...

    MySQL-server-5.5.12-1.linux2.6.i386.rar

    MySQL-server-5.5.12-1.linux2.6.i386.rpm是一个针对Linux操作系统(特别是i386架构)的MySQL服务器安装包。这个版本是MySQL 5.5系列的一部分,该系列在功能、性能和稳定性方面都有显著提升。 **MySQL 5.5版本的...

Global site tag (gtag.js) - Google Analytics