要使用MySQL性能模式,必须在服务器启动时启用它,以启用事件收集。
假设性能模式可用,默认情况下是启用的。要显式启用或禁用它,请使用performance_schema
变量设置为适当的值。例如,在你的my.cnf
文件:
(mysqld) performance_schema =
如果服务器在性能模式初始化期间无法分配任何内部缓冲区,则性能模式将禁用自身并设置performance_schema
来从
,服务器运行时不需要检测。
性能模式还允许在服务器启动时配置仪器和使用者。
要在服务器启动时控制仪器,使用以下形式的选项:
——performance-schema-instrument = 'instrument_name=价值'
在这里,instrument_name
仪器名称如等待/同步/互斥锁/ sql / LOCK_open
,价值
是以下值之一:
从
,假
,或0
:关闭仪器在
,真正的
,或1
:使能仪器并计时数
:启动和计数(而不是计时)仪器
每一个——performance-schema-instrument
Option只能指定一个仪器名称,但可以给出该选项的多个实例来配置多个仪器。此外,允许在仪器名称中使用模式来配置与模式匹配的仪器。要将所有条件同步仪器配置为已启用和已计数,请使用此选项:
——performance-schema-instrument = '等/同步/电导率/ % =统计”
要禁用所有仪器,请使用此选项:
——performance-schema-instrument = % =掉的
例外:内存/ performance_schema / %
仪器是内置的,不能在启动时禁用。
较长的乐器名称字符串优先于较短的模式名称,无论顺序如何。有关指定选择仪器的模式的信息,请参见第25.4.9节,“过滤操作的命名工具或使用者”.
无法识别的仪器名称将被忽略。以后安装的插件可能会创建仪器,这时名称就会被识别和配置。
要在服务器启动时控制使用者,可以使用以下形式的选项:
——performance-schema-consumerconsumer_name=价值
在这里,consumer_name
消费者名称是否如events_waits_history
,价值
是以下值之一:
从
,假
,或0
:不为使用者收集事件在
,真正的
,或1
:为消费者收集事件
例如,启用events_waits_history
消费者,使用此选项:
——performance-schema-consumer-events-waits-history =
控件可以找到允许的使用者名称setup_consumers
表格图案是不允许的。的消费者名称setup_consumers
表使用下划线,但对于在启动时设置的消费者,名称中的破折号和下划线是等价的。
性能模式包括几个提供配置信息的系统变量:
mysql>显示变量为“perf%”;+--------------------------------------------------------+---------+ | Variable_name |值 | +--------------------------------------------------------+---------+ | 上performance_schema | | | performance_schema_accounts_size | 100 | | performance_schema_digests_size | 200 | | performance_schema_events_stages_history_long_size | 10000 | | performance_schema_events_stages_history_size 10 | | | performance_schema_events_statements_history_long_size | 10000 | |Performance_schema_events_statements_history_size | 10 | | performance_schema_events_waits_history_long_size | 10000 | | performance_schema_events_waits_history_size | 10 | | performance_schema_hosts_size | 100 | | performance_schema_max_cond_classes | 80 | | performance_schema_max_cond_instances | 1000 |…
的performance_schema
变量是在
或从
来指示性能架构是启用还是禁用。其他变量指示表大小(行数)或内存分配值。
启用Performance Schema后,Performance Schema实例的数量可能会在很大程度上影响服务器内存占用。性能模式自动扩展许多参数,只在需要时使用内存;看到第25.17节“性能模式内存分配模型”.
若要更改Performance Schema系统变量的值,请在服务器启动时设置它们。例如,将以下行放入my.cnf
修改等待事件的历史表的大小:
[mysqld] performance_schema performance_schema_events_waits_history_size=20 performance_schema events_waits_history_long_size=15000
如果在服务器启动时没有显式设置,Performance Schema会自动调整其几个参数的值。例如,它通过这种方式调整控制事件等待表大小的参数。性能模式增量分配内存,根据实际的服务器负载调整内存使用,而不是在服务器启动期间分配所有需要的内存。因此,许多大小调整参数根本不需要设置。要查看哪些参数是自动大小调整或自动缩放的,请使用mysqld——详细的帮助并检查选项描述,或查看第25.15节,“性能架构系统变量”.
对于没有在服务器启动时设置的每个自动调整大小的参数,性能模式将根据以下系统值确定如何设置其值,这些值被认为是”提示”关于你如何配置你的MySQL服务器:
Max_connections open_files_limit table_definition_cache table_open_cache
要覆盖给定参数的自动大小调整或自动缩放,请在启动时将其设置为−1以外的值。在本例中,性能模式为其分配指定的值。
在运行时,显示变量
显示自动调整大小的参数设置的实际值。自动缩放参数显示,值为−1。
如果性能模式被禁用,它的自动大小和自动缩放参数仍然设置为−1和显示变量
显示−1。