本文共 3332 字,大约阅读时间需要 11 分钟。
MySQL服务器性能指标是监控和优化数据库运行状态的重要工具。以下是MySQL服务器常见的性能变量及其说明,帮助您更好地理解数据库行为和性能问题。
1. 连接相关
- Aborted_clients:由于客户端未正确关闭连接而终止的连接数。
- Aborted_connects:尝试连接到MySQL服务器失败的次数。
- Connection_errors_accept:在侦听端口上调用accept()期间发生的错误数。
- Connection_errors_internal:由于服务器内部错误(如无法启动新线程或内存不足)而拒绝的连接数。
- Connection_errors_max_connections:由于达到服务器最大连接数限制而被拒绝的连接数。
- Connection_errors_peer_address:搜索连接客户端IP地址时发生的错误数。
- Connection_errors_select:在监听端口上调用select(),poll()时发生的错误数。
- Connection_errors_tcpwrap:libwrap库拒绝的连接数。
- Connections:MySQL服务器的连接尝试次数(是否成功都算)。
- Max_execution_time_exceeded:执行超时的查询语句数。
- Max_used_connections:自服务器启动后同时使用的最大连接数。
- Threads_connected:当前打开的连接数。
- Threads_created:为处理连接而创建的线程数。
- Threads_running:不休眠的线程数。
2. 数据存储与索引
- Bytes_received:从所有客户端接收的字节数。
- Bytes_sent:发送到所有客户端的字节数。
- Com_insert_select:插入…select…语句计数。
- Handler_read_key:基于键读取行的请求数。
- Handler_read_last:读取索引中最后一个键的请求数。
- Handler_read_next:按键顺序读取下一行的请求数。
- Handler_read_prev:按键顺序读取前一行的请求数。
- Handler_read_rnd:基于固定位置读取行的请求数。
- Handler_read_rnd_next:读取数据文件中下一行的请求数。
- Handler_update:更新表中某一行的请求数。
- Handler_write:在表中插入行的请求数。
- Innodb_rows_read:从InnoDB表中读取的行数。
- Innodb_rows_updated:在InnoDB表中更新的行数。
- Key_read_requests:从myisam键缓存读取键块的请求数。
- Key_writes:从myisam键缓存到磁盘的key blocks物理写入次数。
- Queries:服务器执行的语句数。
- Questions:服务器执行的语句数(不包括存储程序中的语句)。
- Select_full_join:由于不使用索引而执行表扫描的联接数。
- Select_full_range_join:在引用表上使用范围搜索的联接数。
- Select_range:使用第一个表上的范围的联接数。
- Select_range_check:在每行之后检查键用法的未索引联接数。
- Select_scan:对第一个表进行完全扫描的联接数。
- Sort_merge_passes:排序算法必须执行的合并传递数。
3. 事务与锁
- Com_begin:begin语句计数。
- Com_commit:commit语句计数。
- Com_rollback:rollback语句计数。
- Handler_commit:内部提交语句的数目。
- Handler_rollback:存储引擎执行回滚操作的请求数。
- Innodb_row_lock_current_waits:InnoDB表上的操作当前正在等待的行锁数。
- Table_locks_immediate:可以立即授予表锁请求的次数。
- Table_locks_waited:无法立即授予表锁请求并需要等待的次数。
4. 性能优化与资源使用
- Flush_commands:服务器刷新表的次数。
- Handler_mrr_init:服务器使用存储引擎自己的多范围读取实现进行表访问的次数。
- Innodb_buffer_pool_flushed:从InnoDB缓冲池刷新页面的请求数。
- Innodb_data_fsyncs:到目前为止fsync()操作的数目。
- Innodb_log_writes:对InnoDB重做日志文件的物理写入次数。
- Innodb_os_log_fsyncs:对InnoDB重做日志文件进行fsync()写入的次数。
- Sort_rows:已排序的行数。
- Sort_scan:通过扫描表完成的排序数。
5. 其他
- Compression:客户端连接是否在客户端/服务器协议中使用压缩。
- Max_execution_time_set:设置非零执行超时的查询语句数。
- Performance_schema_accounts_lost:由于行已满而无法添加到accounts表中的次数。
- Performance_schema_cond_classes_lost:状态工具无法加载的数目。
- Performance_schema_cond_instances_lost:无法创建状态工具实例的数目。
- Performance_schema_digest_lost:无法在表events_statements_summary_by_digest中检测的摘要实例数。
- Performance_schema_file_classes_lost:文件工具无法加载的数目。
- Performance_schema_file_instances_lost:文件工具无法创建的数目。
- Performance_schema_nested_statement_lost:丢失统计信息的存储程序语句数。
- Performance_schema_prepared_statements_lost:无法在prepared_statements_instances表中检测的已准备语句数。
- Performance_schema_program_lost:丢失统计信息的存储程序数。
- Performance_schema_rwlock_classes_lost:rwlock仪器无法加载的数目。
- Performance_schema_rwlock_instances_lost:rwlock仪器无法创建的数目。
- Performance_schema_session_connect_attrs_lost:发生连接属性截断的连接数。
- Performance_schema_socket_classes_lost:socket仪器无法加载的数目。
- Performance_schema_socket_instances_lost:socket仪器无法创建的数目。
- Performance_schema_stage_classes_lost:阶段仪器无法加载的数目。
- Performance_schema_statement_classes_lost:报表工具无法加载的数目。
- Performance_schema_table_handles_lost:无法打开表仪器实例的数目。
- Performance_schema_table_lock_stat_lost:丢失锁统计信息的表数。
- Performance_schema_thread_classes_lost:线程仪器无法加载的数目。
- Performance_schema_thread_instances_lost:无法在threads表中检测的线程实例数。
- Performance_schema_users_lost:由于行已满而无法添加到users表中的次数。
这些性能变量可以帮助您深入了解MySQL服务器的运行状况,及时发现性能瓶颈并进行优化。
转载地址:http://vurwz.baihongyu.com/