本节简要介绍InnoDB
与性能方案集成。有关全面的性能模式文档,请参见10bet官方网站27章,MySQL性能模式.
您可以分析某些内部InnoDB
使用MySQL的操作性能模式特性.这种类型的调优主要适用于评估优化策略以克服性能瓶颈的专家用户。dba还可以使用此特性进行容量规划,查看其典型工作负载在特定的CPU、RAM和磁盘存储组合下是否遇到任何性能瓶颈;如果是,则判断是否可以通过增加系统某些部分的容量来提高性能。
使用此特性进行检查InnoDB
性能:
您必须大致熟悉如何使用性能模式特性.例如,您应该知道如何启用仪器和消费者,以及如何进行查询
performance_schema
表来检索数据。有关介绍性概述,请参见第27.1节“性能架构快速入门”.您应该熟悉可用的性能模式工具
InnoDB
.查看InnoDB
相关工具,可查询setup_instruments
表,用于显示包含'innodb
”。mysql> SELECT * FROM performance_schemasetup_instrumentsWHERE NAME像'%innodb%'; +-------------------------------------------------------+---------+-------+ | NAME | ENABLED | TIMED | +-------------------------------------------------------+---------+-------+ | wait/synch/mutex/innodb/commit_cond_mutex | NO | NO | | wait/synch/mutex/innodb/innobase_share_mutex | NO | NO | | wait/synch/mutex/innodb/autoinc_mutex | NO | NO | | wait/synch/mutex/innodb/buf_pool_mutex | NO | NO | | wait/synch/mutex/innodb/buf_pool_zip_mutex | NO | NO | | wait/synch/mutex/innodb/cache_last_read_mutex | NO | NO | | wait/synch/mutex/innodb/dict_foreign_err_mutex | NO | NO | | wait/synch/mutex/innodb/dict_sys_mutex | NO | NO | | wait/synch/mutex/innodb/recalc_pool_mutex | NO | NO | ... | wait/io/file/innodb/innodb_data_file | YES | YES | | wait/io/file/innodb/innodb_log_file | YES | YES | | wait/io/file/innodb/innodb_temp_file | YES | YES | | stage/innodb/alter table (end) | YES | YES | | stage/innodb/alter table (flush) | YES | YES | | stage/innodb/alter table (insert) | YES | YES | | stage/innodb/alter table (log apply index) | YES | YES | | stage/innodb/alter table (log apply table) | YES | YES | | stage/innodb/alter table (merge sort) | YES | YES | | stage/innodb/alter table (read PK and internal sort) | YES | YES | | stage/innodb/buffer pool load | YES | YES | | memory/innodb/buf_buf_pool | NO | NO | | memory/innodb/dict_stats_bg_recalc_pool_t | NO | NO | | memory/innodb/dict_stats_index_map_t | NO | NO | | memory/innodb/dict_stats_n_diff_on_level | NO | NO | | memory/innodb/other | NO | NO | | memory/innodb/row_log_buf | NO | NO | | memory/innodb/row_merge_sort | NO | NO | | memory/innodb/std | NO | NO | | memory/innodb/sync_debug_latches | NO | NO | | memory/innodb/trx_sys_t::rw_trx_ids | NO | NO | ... +-------------------------------------------------------+---------+-------+ 155 rows in set (0.00 sec)
有关仪器的附加信息
InnoDB
对象时,可查询性能模式实例表,提供关于检测对象的附加信息。相关的实例表InnoDB
包括:请注意互斥锁和rw锁与
InnoDB
缓冲池不包括在此覆盖范围内;的输出也是如此显示引擎innodb互斥锁
命令。例如,查看有关instrumented的信息
InnoDB
当执行文件I/O检测时,性能模式看到的文件对象,您可能会发出以下查询:mysql> SELECT * FROM performance_schemafile_instancesWHERE EVENT_NAME LIKE '%innodb%'\G *************************** 1. row *************************** FILE_NAME: /path/to/mysql-8.0/data/ibdata1 EVENT_NAME: wait/io/file/innodb/innodb_data_file OPEN_COUNT: 3 *************************** 2. row *************************** FILE_NAME: /path/to/mysql-8.0/data/ib_logfile0 EVENT_NAME: wait/io/file/innodb/innodb_log_file OPEN_COUNT: 2 *************************** 3. row *************************** FILE_NAME: /path/to/mysql-8.0/data/ib_logfile1 EVENT_NAME: wait/io/file/innodb/innodb_log_file OPEN_COUNT: 2 *************************** 4. row *************************** FILE_NAME: /path/to/mysql-8.0/data/mysql/engine_cost.ibd EVENT_NAME: wait/io/file/innodb/innodb_data_file OPEN_COUNT: 3 ...
你们应该很熟悉
performance_schema
存储的表InnoDB
事件数据。有关的表格InnoDB
相关活动包括:的等待事件表,用于存储等待事件。
阶段活动表,用于存储事件数据
InnoDB
ALTER TABLE
和缓冲池加载操作。有关更多信息,请参见章节15.16.1“使用性能模式监视InnoDB表的ALTER TABLE进度”,使用性能模式监视缓冲池加载进度.
如果你只感兴趣
InnoDB
相关对象,使用子句WHERE EVENT_NAME LIKE '%innodb%'
或WHERE NAME像'%innodb%'
(根据需要)查询这些表。