监控:mysql状态参数 SHOW GLOBAL STATUS


# sql比例
    知识Queries 总的sql执行次数;  查询/删除/插入/更新 次数 select/delete/insert/update
    
# table cache
    知识点:Opened_tables 代表表被打开的总次数。如果一直增长,说明table_open_cache太小

# query cache
    参考:http://blog.chinaunix.net/uid-25266990-id-3426963.html
    知识:Com_select 不同的查询sql语句(开启query cache后导致的)
                 Qcache_queries_in_cache cache中sql的数量; Qcache_hits 命中cache的次数; Qcache_inserts 进入cache的sql次数
                配置参数: query_cache_min_res_unit  查询缓存分配的最小块的大小(字节)
-- 命中比例: Qcache_hits/(Qcache_hits + Com_select),比例越高越好。不高的原因:size太小,大查询刷出,写导致失效等
-- 进入比例: Qcache_queries_in_cache cache/Com_select。这个比例仅供参考,反应select满足进入cache的比例

-- 碎片数量: Qcache_free_blocks 越大,说明碎片越多,需要进行碎片整理(FLUSH QUERY CACHE;) 另一种可能,缓存没用完,但可能性较低
-- 合适最小块大小: (query_cache_size - Qcache_free_memory) / Qcache_queries_in_cache,应该与配置参数query_cache_min_res_unit相当

# buffer pool
    知识Innodb_buffer_pool_pages_total 总大小;  Innodb_buffer_pool_pages_free 未使用大小; Innodb_buffer_pool_pages_data 被使用大小
                 Innodb_buffer_pool_pages_dirty 脏页大小Innodb_buffer_pool_pages_flushed 脏页请求刷新次数
-- 大小:  Innodb_buffer_pool_pages_free经常为0,说明BP可能过小了
-- 写压力: Innodb_buffer_pool_pages_dirty/Innodb_buffer_pool_pages_total 越高,说明写压力比较大或在BP过小。
            需增加脏页刷新速度,如何增加?
增加IO能力

# innodb buffer poll read
    知识:  Innodb_buffer_pool_read_requests 逻辑读次数。并不是sql查询次数
                   Innodb_buffer_pool_reads  从磁盘读取次数,BP中没有需要的数据
                   Innodb_buffer_pool_read_ahead 预读页数
                   Innodb_buffer_pool_read_ahead_evicted  预读页但没有被使用刷新出BP的页数
-- 磁盘读比例: Innodb_buffer_pool_readsInnodb_buffer_pool_read_requests。越高说明BP不够用。也有可能是某种操作导致页被刷出
-- 预读功能: Innodb_buffer_pool_read_ahead_evictedInnodb_buffer_pool_read_ahead。越高说明预读功能不合适

# 数据量统计
    知识:Bytes_received  接收字节数;   Bytes_sent 发送字节数
    可以结合Bytes_sent、Innodb_data_read 判断通过innodb读取但被过滤的无效数据量

# innodb data 访问
   知识: 服务启动后innodb 数据的访问统计
        Innodb_data_read     被读取的数据总量
        Innodb_data_reads    被读取的总次数
        Innodb_data_written  被写入的数据总量
        Innodb_data_writes    被写入的总次数
-- 网络负载读/写比例: Innodb_data_read Innodb_data_written
-- 平均读/写数据量: Innodb_data_read / Innodb_data_reads Innodb_data_written / Innodb_data_writes 

# innodb row 操作
    知识: 各种操作影响的行数。删除/插入/读取/更新 Innodb_rows_deleted/Innodb_rows_inserted/Innodb_rows_read/Innodb_rows_updated  
-- 当写入量大时,可以通过这个判断哪种操作影响的行数更多


# innodb redo log 写入量. 
    innodb_log_file_size: 应该足够大以至于在高峰期能够存下最多1小时的日志。
    参考: http://www.cnblogs.com/zuoxingyu/archive/2012/10/29/2744354.html
    知识:  Innodb_os_log_fsyncs 调用fsync() 次数。主要受innodb_flush_log_at_trx_commit 和 innodb_log_buffer_size 影响
            Innodb_os_log_written 写入的字节数.不太准确,查看show engine innodb status的LSN比较准确
                                        LSN记录的是redo log的写入偏移量,而 此值代表写入redo log的字节数(每次按块写入)。 详细原因见参考

# thread 线程池大小
     知识点:
        Threads_cached 线程池缓存的线程数。经常为0,说明thread_cache_size太小
        Threads_connected 当前连接的线程数
        Threads_created 线程创建数。如果一直在增长,说明thread_cache_size太小
        Threads_running 当前非sleep的线程数


# 汇总统计sql
    

点击(此处)折叠或打开

  1. SHOW GLOBAL variables WHERE Variable_name in (
  2.         'query_cache_min_res_unit',"table_open_cache"
  3. );



点击(此处)折叠或打开

  1.  SHOW GLOBAL STATUS WHERE Variable_name in (
                'Queries', "Com_select","Com_insert","Com_update","Com_delete"
                ,'Qcache_queries_in_cache','Qcache_inserts','Qcache_hits','Qcache_free_blocks','Qcache_total_blocks'
                ,"Threads_running","Threads_connected","Threads_cached","Threads_created"
                ,"Bytes_received","Bytes_sent","Open_tables", "Opened_tables"
                ,"Innodb_buffer_pool_read_requests","Innodb_buffer_pool_reads",'Innodb_buffer_pool_read_ahead','Innodb_buffer_pool_read_ahead_evicted'
                ,"Innodb_buffer_pool_pages_data","Innodb_buffer_pool_pages_free","Innodb_buffer_pool_pages_dirty","Innodb_buffer_pool_pages_flushed"
                ,"Innodb_data_reads","Innodb_data_writes","Innodb_data_read","Innodb_data_written"
                ,"Innodb_rows_inserted","Innodb_rows_updated","Innodb_rows_deleted","Innodb_rows_read"
                ,"Innodb_os_log_fsyncs","Innodb_os_log_written");







请使用浏览器的分享功能分享到微信等