- 浏览: 7935963 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
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的工作频率。
原文作者: 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的工作频率。
发表评论
-
让 InnoDB 多任务运行
2018-09-06 16:06 781今天偶然看到的一招,记录下 如果服务器上的参数 innodb_ ... -
mysql中查询连接工作状态
2018-05-31 15:13 682#!/bin/bash while true do mysql ... -
MYSQL BACKUP的SHELL相关语句
2018-05-25 20:33 545#!/bin/bash ###############Basi ... -
MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
2018-05-08 11:17 615MySQL开启bin-log后,调用存储过程或者函数以及触发器 ... -
NUMA的选择
2018-04-24 09:52 1402现在的机器上都是有 ... -
关于MYSQL 5.7线程池的好文收集
2018-03-27 10:57 1526来自腾讯工程师的好文: https://www.jianshu ... -
MYSQL 的审计日志插件
2017-11-30 10:19 1279MYSQL 的审计日志插件,可惜目前只是LINUX用: 来自M ... -
(转)MySQL InnoDB缓冲池配置详解
2017-10-09 16:55 4062一、InnoDB缓冲池 InnoDB维护一个称为缓冲池的内存 ... -
(转)MySQL 5.7默认SQL模式带来的问题总结
2017-10-05 18:46 1862http://www.ywnds.com/?p=8865 在 ... -
(转)MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍
2017-10-05 18:45 1185http://www.ywnds.com/?p=8184 ON ... -
MySQL 5.6 新功能之 Index Condition Pushdown (ICP)
2017-10-05 15:52 789http://www.cnblogs.com/zhoujiny ... -
mysql 5.7中的MBR和BKA算法
2017-10-03 15:11 1716一、什么是MRR MMR全称是Multi-Range Re ... -
(收藏)万字总结:学习MySQL优化原理,这一篇就够了!
2017-09-30 23:37 1187http://dbaplus.cn/news-155-1531 ... -
(转)MySQL中NULL和空值的区别
2017-09-23 15:57 2228MySQL中NULL和空值的区别 http://www.yw ... -
mysql 5.7中关于count(*)的优化
2017-09-20 19:15 2349在mysql 5.7中,对于select count(*) f ... -
MySQL 索引设计概要
2017-09-12 21:12 512<<MySQL 索引设计概要>>,不错 ... -
10分钟学会理解和解决MySQL乱码问题
2017-07-22 18:21 543http://cenalulu.github.io/mysql ... -
MySQL的or/in/union与索引优化
2017-07-22 08:29 951https://mp.weixin.qq.com/s/ZWez ... -
MYSQL中查看某个表或库的大小语句
2017-04-02 09:12 1955在information_schema.tables中有相关记 ... -
(收藏)MYSQL大表方案
2017-01-09 19:58 1434https://segmentfault.com/a/1190 ...
相关推荐
《mysql管理之道:性能调优、高可用与监控》由资深mysql专家撰写,以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、...
本书《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》显然是针对那些在Linux环境下工作的高级运维工程师的专业书籍。它专注于从基础的系统安装和配置到服务的管理和维护,再到更深层次的原理和性能优化...
### MySQL性能调优 #### 三、查询优化 1. **索引设计**:合理创建索引可以极大地提高查询速度。需要根据业务需求选择合适的索引类型(如B树、哈希索引等),并注意避免索引过多导致的维护成本增加。 2. **SQL语句...
《Red Hat Enterprise Linux 7 性能调优指南》是一本由 Red Hat 官方编写的书籍,旨在帮助用户理解如何针对特定场景优化 Red Hat Enterprise Linux 7(RHEL 7)系统的性能。本书覆盖了广泛的子系统调优技术,包括但...
通过这些深入且实用的内容,读者能够了解到如何在实际环境中对Linux服务器进行性能调优,从而提高系统的整体效能和稳定性。本书不仅适合Linux运维人员,也适合对Linux性能优化感兴趣的开发人员和系统架构师,是一本...
同时,理解并熟悉MySQL的权限系统、备份策略以及性能调优技巧是每个数据库管理员必备的技能。对于开发者而言,了解如何编写高效的SQL查询,以及何时使用存储过程和视图,都是提升应用性能的关键。
### 软件工程中的网络优化与性能调优 #### 第1章 软件工程概述 **软件工程简介** 软件工程是一门涉及软件开发、运行及维护的综合性学科,其核心目标是确保软件产品的高质量产出,同时控制开发成本。随着信息技术...
《Linux下的MySQL数据库编程》这本书由赵廷涛等人编写,针对的是在Linux环境下如何进行MySQL数据库的开发和管理。下面将详细讨论这些知识点。 首先,Linux作为开发环境提供了稳定且可定制的基础。Linux系统以其开源...
针对MySQL的高性能,书中提出了以下调优策略: 1. 索引优化:合理设计和使用索引可以显著提升查询速度。 2. 查询优化:避免全表扫描,减少子查询,使用JOIN操作代替子查询等。 3. 数据库设计:遵循正常化原则,合理...
总之,本课程旨在使学员全面掌握MySQL的性能调优技巧,包括服务器硬件和系统层面的优化、数据库设计和SQL优化,以及高可用性架构如主从复制和读写分离,最终实现MySQL数据库高效稳定运行。通过理论学习与实践操作,...
在IT领域,Linux性能优化是一项至关重要的技能,尤其对于服务器管理员和系统工程师而言。本系列课程专注于提升Linux系统的运行效率,降低资源消耗,确保服务的稳定性和响应速度。以下是基于标题、描述和标签的一些...
该压缩包包含的PDF文档详细阐述了Linux性能调优的各种策略和技巧,涵盖了从硬件配置、内核参数调整到应用程序优化的广泛主题。 1. **性能评估**: - **监控工具**:书中详细介绍了各种用于监控系统性能的工具,如...
- **性能调优**:监控数据库性能并采取措施提高效率。 - **备份与恢复**:定期备份数据以防止数据丢失,并能在必要时快速恢复数据。 - **安全性管理**:确保数据的安全性,包括权限管理和加密等。 - **故障排除**:...
### 六、高级性能调优技术 1. **慢查询日志**:启用慢查询日志记录所有执行时间超过阈值的SQL语句,有助于定位性能瓶颈。 2. **使用工具辅助分析**:Percona Toolkit、MySQLTuner等工具可以帮助快速诊断性能问题并...
《MySQL 5权威指南(第3版)》是MySQL数据库系统的一本详尽参考资料,针对MySQL 5版本进行了深入的探讨。这本书旨在帮助读者全面理解MySQL的各个方面,从基础概念到高级特性,从安装配置到实际操作,为数据库管理员...
MySQL 5.6.26 是 MySQL 数据库管理系统的一个重要版本,主要针对 Linux 操作系统设计。MySQL 是世界上最流行的开源关系型数据库之一,以其高效、可靠和易用性著称。在 Linux 上安装 MySQL 二进制文件是很多系统管理...
MySQL-server-5.5.12-1.linux2.6.i386.rpm是一个针对Linux操作系统(特别是i386架构)的MySQL服务器安装包。这个版本是MySQL 5.5系列的一部分,该系列在功能、性能和稳定性方面都有显著提升。 **MySQL 5.5版本的...