查看 MySQL 服务器运行的各种状态值:

mysql> show global status;

3. key_buffer_size

key_buffer_size 是设置 MyISAM 表索引引擎缓存空间的大小,此参数对 MyISAM 表性能影响最大。

查看设置:

mysql> show variables like 'key_buffer_size';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| key_buffer_size | 536870912|
+-----------------+----------+
1 row in set (0.10 sec)

由结果可知分配了 512MB 内存给 key_buffer_size

查看使用情况:

mysql> show global status like 'key_read%';
+-------------------+-------------+
| Variable_name | Value |
+-------------------+-------------+
| Key_read_requests | 27813678764 |
| Key_reads | 6798830 |
+-------------------+-------------+
2 rows in set (0.00 sec)

一共有 27813678764 个索引读取请求,有 6798830 个请求在内存中没有找到,直接从硬盘读取索引。

计算索引未命中缓存的概率:

key_cache_miss_rate = Key_reads / Key_read_request * 100%

key_cache_miss_rate 在 0.1% 以下都很好(每1000个请求有一个直接读硬盘),若在 0.01% 以下,则说明 key_buffer_size 分配得过多,可适当减少。

mysql> show global status like 'key_blocks_u%';
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Key_blocks_unused | 0 |
| Key_blocks_used | 413543|
+-------------------+-------+
2 rows in set (0.00 sec)

Key_blocks_unused:未使用的缓存簇(blocks)数。

Key_blocks_used:曾经用到的最大 blocks 数。

从结果看,所有缓存都用到了,要么增加 key_buffer_size,要么就是过度索引,把缓存占满了。

比较理想的设置是:

Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%

根据 MySQL 状态优化 ---- 3. key_buffer_size的更多相关文章

  1. 根据 MySQL 状态优化 ---- 4. 临时表

    查看 MySQL 服务器运行的各种状态值: mysql> show global status: 4. 临时表 查看设置: mysql> show variables where Vari ...

  2. 根据 MySQL 状态优化 ---- 1. 慢查询

    查看 MySQL 服务器运行的各种状态值: mysql> show global status: 1. 慢查询 mysql> show variables like '%slow%'; + ...

  3. 根据 MySQL 状态优化 ---- 2. 连接数

    查看 MySQL 服务器运行的各种状态值: mysql> show global status: 2. 连接数 查看设置的最大连接数: mysql> show variables like ...

  4. Mysql性能优化三(分表、增量备份、还原)

    接上篇Mysql性能优化二 对表进行水平划分 如果一个表的记录数太多了,比如上千万条,而且需要经常检索,那么我们就有必要化整为零了.如果我拆成100个表,那么每个表只有10万条记录.当然这需要数据在逻 ...

  5. mysql性能优化-慢查询分析、优化索引和配置

    一.优化概述 二.查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三.配置优化 1)      max_connec ...

  6. MySQL配置文件my.cnf中文详解附mysql性能优化方法分享

    Mysql参数优化对于新手来讲,是比较难懂的东西,其实这个参数优化,是个很复杂的东西,对于不同的网站,及其在线量,访问量,帖子数量,网络情况,以及机器硬件配置都有关系,优化不可能一次性完成,需要不断的 ...

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

    今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...

  8. mysql配置优化

    [笔记]MySQL 配置优化   安装MySQL后,配置文件my.cnf在 /MySQL安装目录/share/mysql目录中,该目录中还包含多个配置文件可供参考,有my-large.cnf ,my- ...

  9. CentOS服务器下对mysql的优化

    原文链接: CentOS服务器下对mysql的优化 一.mysql的优化思路 mysql的优化分为两方面: 1. 服务器使用前的优化 2. 服务使用中的优化 二.mysql的基础优化步骤 1. 硬件级 ...

随机推荐

  1. css浮动(folat),清除浮动(clear)(另加两种清除浮动方式,总共三种清除浮动方式)

    css浮动(float) float是css样式,用于设置标签的居左浮动和居右浮动,浮动后的元素不属于html文档流,需要用清除浮动把文档拽回到文档流中 浮动值: left:向左浮动 right:向右 ...

  2. C#导出excel

    public FileResult ExportExcels(string StartTime, string EndTime, string SendType) { List<SMSSExpo ...

  3. buaaoj230——next_permutation的应用

    题目地址 简单的全排列输出,借用stl中的next_permutation就非常简单了. 关于next_permutation:(备忘,来源网络) /*这是一个求一个排序的下一个排列的函数,可以遍历全 ...

  4. ASP.NET关于WebPages的一点总结

    相比于早期的ASP,WebPage貌似只是多了一些Razor语法可以直接调用服务器代码,其他的内容HTML.样式CSS以及脚本JavaScript基本都是一样的处理方式 只是说内容HTML里面加入了更 ...

  5. (转)PhoneGap开发环境搭建

    (原)http://www.cnblogs.com/Random/archive/2011/12/28/2305398.html PhoneGap开发环境搭建   项目中要用PhoneGap开发,了解 ...

  6. phonegap 框架详解

    首先, 来看一下phonegap 初始化流程以及Native 与 JS 交互流程图. 说明:socket server模式下, phonegap.js 源码实现的采用1 毫秒执行一次XHR请求,  当 ...

  7. ubuntu安装过程中的一些问题

    安装了ubuntu后,用scp命令从另外一台电脑上复制文件过来,没有执行权限,查看执行文件的目录,文件所有者全部是root/root, 原来scp是sudo状态下操作的,所以复制过来的文件都属于roo ...

  8. Error Handling

    Use Exceptions Rather Than Return Codes Back in the distant past there were many languages that didn ...

  9. ashx

    一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Java中需要 ...

  10. (实用篇)PHP定时任务获取微信access_token

    最近开发微信公众平台,公众号调用各接口时都需使用access_token,access_token是公众号的全局唯一接口调用凭据,开发时需要进行妥善保存. access_token有效期为7200秒 ...