一,最值得检查的状态变量
使用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. Java Hour 21 Weather

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为21 Hour,请各位不吝赐教. 继续心情不佳,那 ...

  2. jsp放在web-inf下的注意事项

    转自:http://dejazhan.iteye.com/blog/1708785 web-inf目录是不对外开放的,外部没办法直接访问到(即不能通过URL访问).所有只能通过映射来访问,比如映射为一 ...

  3. Struts2中ActionContext和ServletActionContext

    转自:http://blog.sina.com.cn/s/blog_6c9bac050100y9iw.html 在Web应用程序开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在A ...

  4. 如何在Eclipse中查看Android源码或者第三方组件包源码

    文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅 ...

  5. gui_mainfcn(gui_State, varargin{:});是什么意思

    gui_mainfcn函数执行过程中,要调用各个控件的CreateFcn函数(也就是控件创建的函数)来创建控件.如果对控件的一些属性设置不对,则控件就没法创建,gui_mainfcn函数就不能正确执行 ...

  6. vim跳到文件头和文末结尾

    gg           : 跳转到文件头 Shift+g   : 跳转到文件末尾

  7. Xamarin.Android提示aapt退出,代码为255

    Xamarin.Android提示aapt退出,代码为255 错误信息:”aapt.exe”已退出,代码为255.出现这种问题,通常是由于该项目所使用Android SDK不完整.通过SDK Mana ...

  8. 前端JSON使用总结

    JSON: JavaScript Object Notation(JavaScript 对象表示法)的简称. 1. 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaS ...

  9. JAVA中堆栈和内存分配

    (一).栈.堆 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或 ...

  10. 一些比较实用的javascript方法收集,留着有用

    动态加载javascript文件 <script type="text/javascript"> //<!-- /*动态加载方法*/ function loadS ...