mysql负载高分析

  •  table_open_cache
    •  SHOW STATUS LIKE 'Open%tables';

        SHOW global variables LIKE '%table%';    # 如果你发现 open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_open_cache的值了    set global  table_open_cache=2000 ;

  • key_buffer_size
    •   SHOW STATUS LIKE 'key_read%';  
         #key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好.设置key_buffer_size
         set global  key_buffer_size=2048M ;
  • query_cache_size

query_cache_size    # MySQL查询操作缓冲区的大小,通过以下做法调整:SHOW STATUS LIKE 'Qcache%'; 如果Qcache_lowmem_prunes该参数记录有多少条查询因为内存不足而被移除出查询缓存。通过这个值,用户可以适当的调整缓存大小。如果该值非常大,则表明经常出现缓冲不够的情况,需要增加缓存大小;Qcache_free_memory:查询缓存的内存大小,通过这个参数可以很清晰的知道当前系统的查询内存是否够用,是多了,还是不够用,我们可以根据实际情况做出调整。一般情况下4G内存设置64M足够了。
   show global variables like 'query_cache_size';
   set global  query_cache_size=134217728 ;

  • show processlist

查看进程

select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx;

  • show status like '%Threads%';

查看线程

  • show OPEN TABLES where In_use > 0;

查看锁表状态

posted @ 2018-02-27 15:32  xgmxm  阅读(170)  评论(0编辑  收藏  举报