March 21, 2013

[MySQL 5.6] Performance Schema 之 PS配置项(1)

尽管Performance Schema(以下简称PS)在5.5中已经出现,但一直没有使用过,并且相比5.6,5.5的PS表要少很多。 以下从一个初学者的角度,阅读PS的官方文档,做一些简单的笔记 官方文档见:http://dev.mysql.com/doc/refman/5.6/en/performance-schema.html 目录: 1.开启PS2.配置PS2.1 setup_timers表决定了不同的instrument使用的timer类型2.2setup_instruments 2.3 setup_consumers表 列出了事件信息的消费者类型2.4.setup_objects2.5.setup_actors 1.开启PS 首先需要强调一点,开启PS是有性能开销的,在一个性能测试场景上,我对比了阿里内部版本的Percona Server 5.5.18与官方MySQL5.6.10,发现在同等压力下,5.6版本有明显的更高的CPU开销(大约高了10~20%) 确认是否开启: 编译阶段:-DWITH_PERFSCHEMA_STORAGE_ENGINE:BOOL=ON     默认是ON,可以设为OFF来在编译阶段关闭Performance Schema 也可以在启动mysqld时,关闭选项performance_schema 如果你在error log中看到类似错误的PS表结构或者PS表找不到之类的错误,在开启实例后,可以执行一下mysql_upgrade [ERROR] Native table ‘performance_schema’.’events_waits_history’ has the wrong structure [ERROR] Native table ‘performance_schema’.’events_waits_history_long’  has the wrong structure  2.配置PS Performance Schema可以通过配置setup表来在运行时配置PS,包括以下几个表: mysql> show tables like ‘%setup%’; +—————————————-+ | Tables_in_performance_schema (%setup%) | +—————————————-+ | setup_actors                           | | setup_consumers                        | […]