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 ...
随机推荐
- NDK开发
1 CDT 是 Eclipse 插件,它将把 Eclipse 转换为功能强大的 C/C++ IDE. C/C++在Eclipse平台下的开发工具.它提供的功能包括:C/C++编辑器(一些基本的功能:语 ...
- 常见的文件上传方法有哪些?Ajax文件上传原理是什么?
Ajaxfileupload,Ajaxupload,JqueryUploadify无刷新式的文件上传,在一个页面里嵌入一个Iframe,然后在Iframe使用原生的Post表单提交.
- 暴力+降复杂度 BestCoder Round #39 1002 Mutiple
题目传送门 /* 设一个b[]来保存每一个a[]的质因数的id,从后往前每一次更新质因数的id, 若没有,默认加0,nlogn复杂度: 我用暴力竟然水过去了:) */ #include <cst ...
- 一张广告图片引起的思维DFS
1.概述 今天老同事发了一张图片, 结果后面有几个家伙回了“中毒了...”“这是挖墙脚的节奏么”(对了,这个老同事也离职了). 本来也想说上几句的,发现激情难在. 不过,最近了解到DIP.DM.ML. ...
- 基于Extjs的web表单设计器 第六节——界面框架设计
基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extj ...
- BZOJ3075 : [Usaco2013]Necklace
首先对b串做kmp求出nxt数组. 设f[i][j]表示考虑了a的前i个字符,在b中匹配到了j的最长长度,按照kmp算法直接转移即可. $ans=n-\max(f[n][j])$. 时间复杂度$O(n ...
- 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 ...
- 【POJ】A New Stone Game(博弈论)
http://poj.org/problem?id=1740 题目大意就是,对于n堆石子,每堆若干个,两人轮流操作,每次操作分两步,第一步从某堆中去掉至少一个,第二步(可省略)把该堆剩余石子的一部分分 ...
- [NOI 2014]做题记录
[NOI2014]起床困难综合症 按位贪心 #include <algorithm> #include <iostream> #include <cstring> ...
- java中&和&&的区别和联系
我想很多人在学习java的时候,或者其他语言(如:C#,.Net等)都会遇到 &和&& 然而,如果你没有真正的理解他们的意思,这会给你思路上面带来很大的麻烦 在这篇blog中, ...