percona监控mysql的模板,在zabbix会进行归类生成图表以便于分析。下面就各个图表的含义进行总结。
一 自适应哈希图
InnoDB自适应哈希索引图显示了哈希索引的总的cells 和使用的cells 。这个图实际上没有任何可操作的地方:虽然可以禁用自适应散列索引,但它并不是设计为用户可调的。但是,如果性能出现问题,这个图可能提供诊断信息。
二 Innodb Buffer Pool
该图展示了Innodb buffer pool 的状况:
the size, free pages, used (database) pages, and dirty (modified) pages 。
注意这里有一个bug:相关的状态值取的都是页数,但是监控按照字节算的,所以不准
Innodb_buffer_pool_bytes_data /Innodb_buffer_pool_pages_data
Buffer pool 中包含数据的总字节数(总页数),包含脏页和缓存的未修改的页(干净页),当使用了压缩表时Innodb_buffer_pool_bytes_data 更精确。
相关状态参数:
Innodb_buffer_pool_bytes_data /Innodb_buffer_pool_pages_data
Buffer pool 中包含数据的总字节数(总页数),包含脏页和缓存的未修改的页(干净页),当使用了压缩表时Innodb_buffer_pool_bytes_data 更精确。
Innodb_buffer_pool_bytes_dirty /Innodb_buffer_pool_pages_dirty
脏页数量(数据量)
Innodb_buffer_pool_pages_flushed
请求刷新的页数
Innodb_buffer_pool_pages_free
空闲页数量
Innodb_buffer_pool_pages_total
Buffer pool 总页数。 When using compressed tables,the reported Innodb_buffer_pool_pages_data value may be larger than Innodb_buffer_pool_pages_total
三 InnoDB Buffer Pool Activity
该图展示了buffer pool的活动情况:页的创建,读取和写入,您可以认为它大致相当于处理程序图。如果您在图中看到一个突然的变化,您应该尝试将其跟踪到您的应用程序中的一些变化。
· Innodb_pages_created :由于InnoDB表上的操作创建的页面数(buffer pool中)。The number of pages created by operations on InnoDB tables.
· Innodb_pages_read :由于InnoDB表上的操作从InnoDB buffer pool读取的页面数。The number of pages read from the InnoDB buffer pool by operations on InnoDB tables.
· Innodb_pages_written :由于InnoDB表上的操作InnoDB buffer pool写的页面数。The number of pages written by operations on InnoDB tables.
四 InnoDB Buffer Pool Efficiency
InnoDB缓冲池效率图显示了InnoDB已经完成的逻辑读请求的数量,以及InnoDB不能满足缓冲池的逻辑读请求的数量,必须直接从磁盘读。
· Innodb_buffer_pool_read_requests :逻辑读请求的数量。
· Innodb_buffer_pool_reads:不能实现逻辑读必须从磁盘读的读取操作数量
五 The InnoDB Checkpoint Age graph
InnoDB检查点年龄图显示了InnoDB检查点年龄,它与未检查点字节数相同,因此,如果发生崩溃,需要扫描日志来执行恢复。如果未检查的字节开始接近InnoDB日志文件的合并大小,那么您的系统可能需要更大的日志文件。此外,许多未检查的数据可能表明,如果发生崩溃,您将经历漫长而痛苦的恢复过程
六 The InnoDB Current Lock Waits graph
InnoDB当前锁等待图显示了InnoDB事务等待锁的总秒数。这与InnoDB活动/锁事务图有关,只是它是锁等待时间的总和。可能只有一个事务处于锁定等待状态,但是如果innodb_lock_wait_timeout被设置为一个大的值,那么它可能会等待很长时间。因此,如果您在这个图中看到一个较大的值,您应该研究锁等待事务。
七 The InnoDB Insert Buffer graph
The InnoDB Insert Buffer graph shows information about InnoDB’s insert buffer: inserts, merge operations, and merged records. This is not generally actionable, because the insert buffer is not user-configurable in standard MySQL. However, you can use it to diagnose certain kinds of performance problems, such as furious disk activity after you stop the server from processing queries, or during particular types of queries that force the insert buffer to be merged into the indexes. (The insert buffer is sort of a delayed way of updating non-unique secondary indexes.)
八 InnoDB Insert Buffer Usage graph
InnoDB插入缓冲区使用情况图显示了插入缓冲区中的总单元格(cells),以及使用的和空闲的单元格。这只是诊断性的,如前面的图表所示。您可以使用它来查看缓冲区的使用情况,从而与服务器活动相关联,否则很难解释这些活动。
九 InnoDB Internal Hash Memory Usage
该图展示了内部hash结构占用的内存情况:the adaptive hash index, page hash, dictionary cache, filesystem, locks, recovery system, and thread hash。这仅在Percona服务器中可用,并且这些结构通常是不可配置的。但是,您可以使用它来诊断某些类型的性能问题,比如比预期的内存使用量大得多。例如,在标准的InnoDB中,当有很多表时,内部数据字典会消耗大量的内存。
十 InnoDB I/O Activity graph
InnoDB的I/O活动图显示了InnoDB的I/O活动:文件读写、日志写和fsync()调用。这可能有助于诊断系统上I/O活动的来源。其中一些会受到InnoDB设置的影响,尤其是innodb_flush_log_at_trx_commit。
十一 InnoDB I/O Pending
InnoDB I/O Pending 图显示了InnoDB的同步和异步I/O操作在引擎的不同部分。出现等待I/O是不理想的;理想情况下,希望InnoDB的后台线程能够跟上写操作的速度,并且希望缓冲池足够大,不会出现读取问题。如果看到大量的pending I/O,您可能需要更多的RAM、更大的缓冲池(或者使用O_DIRECT来避免双缓冲)或更快的磁盘子系统。
· Innodb_data_pending_fsyncs :当前挂起的fsync()操作的数目。Fsync()调用的频率受到innodb_flush_method配置选项的设置的影响。
· Innodb_data_pending_reads :当前挂起的读操作数。
· Innodb_data_pending_writes : 当前挂起的写操作数
· Innodb_os_log_pending_fsyncs : InnoDB 重做日志文件挂起的 fsync() 操作的数量。
· Innodb_os_log_pending_writes :写入InnoDB重做日志文件挂起次数