zoukankan      html  css  js  c++  java
  • 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


  • 相关阅读:
    源码安装jdk
    yum操作的一些笔记
    Tomcat笔记
    源码编译安装zabbix server端和agent端
    用nginx做反向代理时 通过设置让后台真实服务器日志记录客户端的IP
    LVS负载均衡的两种调度模式:NAT和DR
    nginx配置文件详解
    FPGA高级设计——时序分析和收敛(转)
    12个有趣的C语言面试题
    LDO稳压器工作原理
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429403.html
Copyright © 2011-2022 走看看