MySQL Status Open_streams 数据库状态作用意思及如何正确

本站中文解释

:表示MySQL正在处理的活动连接数,如果该值持续上升,意味着MySQL的IO并发有所增加,处理能力受到瓶颈。

Created_tmp_disk_tables:表示因为内存不够,MySQL被迫在磁盘上创建临时表来处理查询,可以用max_heap_table_size配置MySQL遇到内存不够的情况,会将查询结果放在磁盘上的最大限制。

Questions:表示自MySQL服务器启动后发送到MySQL服务器的查询次数,可以用来了解MySQL总体的查询量比率。

connections :表示TCP/IP或socket连接到MySQL服务器的连接次数,最大支持连接数由max_connections配置参数决定。

Uptime:表示MySQL服务器已运行多久,可以衡量MySQL数据库服务器稳定性。

Bytes_sent:表示MySQL服务器已经发送出去的总字节数,可以用来估算MySQL总体带宽流量使用情况。

Bytes_received:表示MySQL服务器收到的总字节数,可以用来估算MySQL总体带宽流量使用情况。

Threads_connected:表示正在连接的客户端的连接数,这是一个非常重要的值,用它可以反映MySQL的承载能力,以及它是否达到了最大性能承担的容量。

Innodb_buffer_pool_pages_free:表示InnoDB缓存池中的空闲页的数量,如果发现这个值越大,表示Buffer Pool中多数页面并没有被访问,则可以缩减Buffer Pool的大小,从而节省内存空间。

Innodb_buffer_pool_pages_total:表示InnoDB缓存池中所有页面的数量,可以比较一下Innodb_buffer_pool_pages_free和Innodb_buffer_pool_pages_total的值,来决定是否需要调整InnoDB缓存池大小。

Innodb_buffer_pool_pages_data:表示InnoDB缓存池中存放着数据的页面的数量,可以比较一下Innodb_buffer_pool_pages_free和Innodb_buffer_pool_pages_data的值,来查看是否buffer pool已满使用。

Innodb_buffer_pool_reads:表示查询InnoDB缓存池失败的次数,如果该值较大,则可以增加buffer pool的大小,以期让更多数据永久在buffer pool中,减少读磁盘操作带来的IO性能消耗。

Innodb_data_reads:表示从磁盘读取数据次数,如果Innodb_buffer_pool_reads比Innodb_data_reads大,说明buffer pool要么是太小,要么被大量的ddl操作把数据逐出了缓存,这需要提高buffer pool大小来提高性能。

设置方法:

使用SHOW VARIABLES可以查看MySQL当前的status变量,如:SHOW VARIABLES LIKE ‘%sql%’;。

查询结果为某个status变量的名称和当前值,通过SET GLOBAL可以设置某个变量到新的值,例如:SET GLOBAL max_heap_table_size = 100M;。

由于改变值后,status变量才会改变,因此要想看到改变后的结果,需要再次查询,例如:SHOW VARIABLES LIKE ‘max_heap_table_size’;。


数据运维技术 » MySQL Status Open_streams 数据库状态作用意思及如何正确