MySQL常用性能分析命令
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
show version();
show engines;
show variables like "innodb_buffer_pool_size";#缓存池大小
show variables like "innodb_io";
show variables like "%slow%";##slow_query_log=on打开了慢查询日志,执行时间超过2秒即为慢查询。
show variables like "max_connections";#最大连接数
show variables like "max_used_connections";#响应的最大连接数
show global status like "Thread%";
#进程使用情况:
#Thread_create表示创建过的线程数,Thread_create过大表示MySQL一直在创建线程,比较耗资源,可适当增加配置文件中thread_cache_size值。
show variables like "thread_cache_size";
show global status like "qcache%";
#查询缓存:
#Qcache_free_blocks缓存中相邻内存块的个数,数目大说明有碎片,此时可通过flush query cache命令对缓存中的碎片进行整理;
#Qcache_free_memory:缓存中的空闲内存
#Qcache_hits:每次查询在缓存中命中时,就增大。
#Qcache_inserts:每次插入一个查询时就增大。命中次数/插入次数=命中比率。
#Qcache_lowmem_prunes:缓存出现内存不足并且必须要进行清理以便为更多查询提供空间的次数。这个数字最好长时间来看:如果这个数字不断增长,就表明碎片非常严重,或者内存很少。上面的free_blocks和free_memory会告诉你是哪种情况.
#Qcache_not_cached:不适合进行缓存的查询的数量。通常是由于这些查询不是select语句或者用了now()之类的函数。
#Qcache_queries_in_cahce:当前缓存的查询(和响应的数量)。
#Qcache_total_blocks:缓存中块的数量。
show variables like "query_cache%";
#query_cache_limit:超过此大小的查询将不缓存;
#query_cache_min_res_unit:缓存块的最小大小;
#query_cache_size:查询缓存大小;
#query_cache_type:缓存类型,决定缓存什么样的查询;
#query_cache_wlock_invalidate:当有其他客户端正在对MyISAM表进行写操作时,如果查询在query cache中,是否返回cache结果还是等写操作完成再读表获取结果。
show global status like "sort%";#排序使用情况
show global status like "table_locks%";
#表锁情况
#Table_locks_immediate:立即释放表锁数
#Table_locks_waited:需要等待的表锁数
#如果Table_locks_immediate/Table_locks_waited>5000,最好采用InnoDB引擎,因为InnoDB是行锁,而MyISAM是表锁,对于高并发写入,InnoDB效果更好。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341