一,最值得检查的状态变量
使用show global status进行检测

二.变量部分

1.Aborted_clients
如果这个变量持续增加,确定连接是否被关闭了.如果不是检查网络性能,并且检查max_allowed_packet配置变量,超过该变量的查询会被截断

2.Aborted_connections
这个值应该是0,不是0的话就可能是网络问题,或尝试登陆及不存在的表,错误的用户名和密码

3.Binlog_cache_disk_use和Binlog_cache_use
如果Binlog_cache_disk_use和Binlog_cache_use之间的比率很大,就应该增加binlog_cache_size的值

4.Bytes_received和Bytes_sent
网络接收和发送的字节数

5.Com_*
应该注意不要让Com_rollback这样不常见的变量超过预期值

6.Connections
这个变量表示了连接意图的数量(不是当前数量,它是Threads_connected)

7.Created_tmp_disk_tables
如果这个值较高,有两件事情发生了错误
a.查询在选择BLOB或TEXT列的时候创建了临时表
b.tmp_table_size和max_heap_table_size可能不够大

8.Created_tmp_tables
该值较高的唯一处理办法是优化查询

9.Handler_read_rnd_next
Handler_read_rnd_next / Handler_read_rnd显示了全表扫描的大致平均值.如果值较大,就应该优化架构索引和查询

10.Key_blocks_used
如果Key_blocks_used * key_cache_block_size远远小于热身服务器上的key_buffer_size值,那就意味着key_buffer_size的值太大了,内存被浪费了

11.Key_reads
要注意观察每秒发生的读取次数,并且将这个值和I/O系统进行匹配.以了解有多接近I/O限制

12.Max_used_connections
如果该值和max_connection相同,那么是max_connection设置的较小或最大负载超过了服务器上限.但不要盲目的增大max_connection,如果看到需求激增,应该检查应用程序,服务器调优,服务器架构是否涉及良好.

13.Open_files
注意不能和open_files_limit的值接近,如果接近了,那就应该增加open_file_limit

14.Open_tables和opend_tables
应该将该值和table_cache对照,如果有太多的Open_tables,那么说明table_cache还不够大,说明表缓存可能还没有用上,但显示的临时表创建也能导致Opened_tables变大了.

15.Qcache_*
查询缓存

16.Select_full_join
全连接是无索引链接,是真正的性能杀手.最好能避免全连接.可优化查询和索引.

17.Select_full_range_join
如果该值过高,说明运行了许多范围查询联接表.范围查询比较慢.

18.Select_range_check
该变量记录在联接时,对每一行数据重新检查索引的查询计划的数量,性能开销很大.如果该值大或正在增加,一些查询没有找到好索引.

19.Slow_launch_threads
该变量较大说明了某些因素正在延迟联接的新线程,说明服务器有一些问题.通常是系统过载.

20.Sort_merge_passes
该变量较大应增加sort_buffer_size.同时也应该检查查询并优化.

21.Table_locks_waited
显示了多少表被锁住,并等待了服务器级的锁等待.

三.每连接调优
对于平时需要保持较小的值,只在需要的时候才需要增大的值.最常见的例子是sort_buffer_size,它控制了用于文件排序的缓存大小.即使排序的数据量很小,也会按照设置分配全部空间.如果值过大,意味着浪费.

当发现查询需要很大的值时,可以在查询前提高值,查询后设置为默认.
如:

SET @@session.sort_buffer_size := <value>
.........
SET @@session.sort_buffer_size := DEFAULT;

将这种代码放入函数中可能会更方便
其他应该基于每个连接设置的变量是
read_buffer_size,read_rnd_buffer_size,tmp_table_size以及myisam_sort_buffer_size

MySQL服务器状态变量的更多相关文章

  1. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  2. MySQL 服务器的加快运行速度有哪些方法?

    关于 MySQL 调优 有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为: 替换有问题的硬件.对 MySQL 进程的设置进行调优. 对查询进行优化. 替换有问题的硬件通常是我们 ...

  3. MySQL服务器的线程数查看方法

    mysql重启命令:/etc/init.d/mysql restart MySQL服务器的线程数需要在一个合理的范围之内,这样才能保证MySQL服务器健康平稳地运行.Threads_created表示 ...

  4. MySQL服务器最大连接数怎么设置才合理[转]

    如果mysql 连接数据设置不合理可能会导致很小的流量mysql就提示MySQL: ERROR 1040: Too many connections错误了,那么要如何才算是合理设置mysql最大连接数 ...

  5. MySQL服务器线程数的查看方法详解

    本文实例讲述了MySQL服务器线程数的查看方法.分享给大家供大家参考,具体如下: mysql重启命令: ? 1 /etc/init.d/mysql restart MySQL服务器的线程数需要在一个合 ...

  6. 第13章 MySQL服务器的状态--高性能MySQL学习笔记

    13.1 系统变量 -- 服务器配置变量 MySQL通过SHOW VARIABLES  SQL命令显示许多系统变量. 13.2 状态变量--SHOW STATUS SHOW STATUS 命令会在一个 ...

  7. MySQL服务器变量:MySQL系列之八

    注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置 一.服务器选项 ...

  8. mysql服务器变量、缓存及索引

    服务器变量 注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置. ...

  9. Mysql 服务器管理程序 mysqladmin

    mysqladmin [oprions] command 选项                                      说明 create db_name               ...

随机推荐

  1. NDK开发

    1 CDT 是 Eclipse 插件,它将把 Eclipse 转换为功能强大的 C/C++ IDE. C/C++在Eclipse平台下的开发工具.它提供的功能包括:C/C++编辑器(一些基本的功能:语 ...

  2. 常见的文件上传方法有哪些?Ajax文件上传原理是什么?

    Ajaxfileupload,Ajaxupload,JqueryUploadify无刷新式的文件上传,在一个页面里嵌入一个Iframe,然后在Iframe使用原生的Post表单提交.

  3. 暴力+降复杂度 BestCoder Round #39 1002 Mutiple

    题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...

  4. 一张广告图片引起的思维DFS

    1.概述 今天老同事发了一张图片, 结果后面有几个家伙回了“中毒了...”“这是挖墙脚的节奏么”(对了,这个老同事也离职了). 本来也想说上几句的,发现激情难在. 不过,最近了解到DIP.DM.ML. ...

  5. 基于Extjs的web表单设计器 第六节——界面框架设计

    基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...

  6. BZOJ3075 : [Usaco2013]Necklace

    首先对b串做kmp求出nxt数组. 设f[i][j]表示考虑了a的前i个字符,在b中匹配到了j的最长长度,按照kmp算法直接转移即可. $ans=n-\max(f[n][j])$. 时间复杂度$O(n ...

  7. BZOJ3825 : [Usaco2014 Nov]Marathon

    不跳过任何点的路程=dis(l,l+1)+dis(l+1,l+2)+...+dis(r-2,r-1)+dis(r-1,r) 要跳过一个点i,则要最小化dis(i,i+2)-dis(i,i+1)-dis ...

  8. 【POJ】A New Stone Game(博弈论)

    http://poj.org/problem?id=1740 题目大意就是,对于n堆石子,每堆若干个,两人轮流操作,每次操作分两步,第一步从某堆中去掉至少一个,第二步(可省略)把该堆剩余石子的一部分分 ...

  9. [NOI 2014]做题记录

    [NOI2014]起床困难综合症 按位贪心 #include <algorithm> #include <iostream> #include <cstring> ...

  10. java中&和&&的区别和联系

    我想很多人在学习java的时候,或者其他语言(如:C#,.Net等)都会遇到 &和&& 然而,如果你没有真正的理解他们的意思,这会给你思路上面带来很大的麻烦 在这篇blog中, ...