MySQL服务器状态变量
一,最值得检查的状态变量
使用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服务器状态变量的更多相关文章
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
- MySQL 服务器的加快运行速度有哪些方法?
关于 MySQL 调优 有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为: 替换有问题的硬件.对 MySQL 进程的设置进行调优. 对查询进行优化. 替换有问题的硬件通常是我们 ...
- MySQL服务器的线程数查看方法
mysql重启命令:/etc/init.d/mysql restart MySQL服务器的线程数需要在一个合理的范围之内,这样才能保证MySQL服务器健康平稳地运行.Threads_created表示 ...
- MySQL服务器最大连接数怎么设置才合理[转]
如果mysql 连接数据设置不合理可能会导致很小的流量mysql就提示MySQL: ERROR 1040: Too many connections错误了,那么要如何才算是合理设置mysql最大连接数 ...
- MySQL服务器线程数的查看方法详解
本文实例讲述了MySQL服务器线程数的查看方法.分享给大家供大家参考,具体如下: mysql重启命令: ? 1 /etc/init.d/mysql restart MySQL服务器的线程数需要在一个合 ...
- 第13章 MySQL服务器的状态--高性能MySQL学习笔记
13.1 系统变量 -- 服务器配置变量 MySQL通过SHOW VARIABLES SQL命令显示许多系统变量. 13.2 状态变量--SHOW STATUS SHOW STATUS 命令会在一个 ...
- MySQL服务器变量:MySQL系列之八
注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置 一.服务器选项 ...
- mysql服务器变量、缓存及索引
服务器变量 注意:其中有些参数支持运行时修改,会立即生效:有些参数不支持,且只能通过修改配置文件,并重启服务器程序生效:有些参数作用域是全局的,且不可改变:有些可以为每个用户提供单独(会话)的设置. ...
- Mysql 服务器管理程序 mysqladmin
mysqladmin [oprions] command 选项 说明 create db_name ...
随机推荐
- Java Hour 21 Weather
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为21 Hour,请各位不吝赐教. 继续心情不佳,那 ...
- jsp放在web-inf下的注意事项
转自:http://dejazhan.iteye.com/blog/1708785 web-inf目录是不对外开放的,外部没办法直接访问到(即不能通过URL访问).所有只能通过映射来访问,比如映射为一 ...
- Struts2中ActionContext和ServletActionContext
转自:http://blog.sina.com.cn/s/blog_6c9bac050100y9iw.html 在Web应用程序开发中,除了将请求参数自动设置到Action的字段中,我们往往也需要在A ...
- 如何在Eclipse中查看Android源码或者第三方组件包源码
文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅 ...
- gui_mainfcn(gui_State, varargin{:});是什么意思
gui_mainfcn函数执行过程中,要调用各个控件的CreateFcn函数(也就是控件创建的函数)来创建控件.如果对控件的一些属性设置不对,则控件就没法创建,gui_mainfcn函数就不能正确执行 ...
- vim跳到文件头和文末结尾
gg : 跳转到文件头 Shift+g : 跳转到文件末尾
- Xamarin.Android提示aapt退出,代码为255
Xamarin.Android提示aapt退出,代码为255 错误信息:”aapt.exe”已退出,代码为255.出现这种问题,通常是由于该项目所使用Android SDK不完整.通过SDK Mana ...
- 前端JSON使用总结
JSON: JavaScript Object Notation(JavaScript 对象表示法)的简称. 1. 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaS ...
- JAVA中堆栈和内存分配
(一).栈.堆 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或 ...
- 一些比较实用的javascript方法收集,留着有用
动态加载javascript文件 <script type="text/javascript"> //<!-- /*动态加载方法*/ function loadS ...