10bet网址
MySQL NDB集群8.0
相关的文档10bet官方网站 下载此节选

6.15.30 ndbinfo diskpagebuffer表

diskpagebuffer该表提供了NDB集群磁盘数据表中关于磁盘页缓冲区使用情况的统计信息。

diskpagebuffer表包含以下列:

  • node_id

    数据节点ID

  • block_instance

    块实例

  • pages_written

    写入磁盘的页数。

  • pages_written_lcp

    本地检查点写入的页面数。

  • pages_read

    从磁盘读取的页数

  • log_waits

    等待将日志写入磁盘的写页数

  • page_requests_direct_return

    缓冲区中可用的页请求数

  • page_requests_wait_queue

    必须等待缓冲区中的页面可用的请求数

  • page_requests_wait_io

    必须从磁盘上的页读取的请求数(缓冲区中的页不可用)

笔记

您可以将此表与NDB集群磁盘数据表一起使用,以确定是否DiskPageBufferMemory足够大,允许从缓冲区而不是从磁盘读取数据;最小化磁盘寻径可以帮助提高这类表的性能。

可以确定读取的比例DiskPageBufferMemory到使用类似此查询的读取总数,该查询以百分比的形式获得该比率:

SELECT node_id, 100 * page_requests_direct_return / (page_requests_direct_return + page_requests_wait_io) FROM ndbinfo.diskpagebuffer;

该查询的结果应该类似于这里显示的,集群中的每个数据节点对应一行(在本例中,集群有4个数据节点):

+---------+-----------+ | node_id | hit_ratio  | +---------+-----------+ | 5 | 97.6744 | | 6 | 97.6879 | | 7 | 98.1776 | | 8 | 98.1343  | +---------+-----------+ 4行集(0.00秒)

hit_ratio接近100%的值表示只有非常少量的读取是从磁盘而不是从缓冲区进行的,这意味着磁盘数据读取性能正在接近最佳水平。如果这些值中的任何一个小于95%,则这是设置的强指示符DiskPageBufferMemory需要增加config.ini文件。

请注意

变化DiskPageBufferMemory需要在生效之前滚动重新启动集群的所有数据节点。

block_instance引用内核块的实例。与块名称一起,此数字可用于在threadblocks表格使用这些信息,您可以获得与单个线程相关的磁盘页缓冲区指标的信息;示例查询使用限制1将输出限制为单个线程如下所示:

mysql> SELECT > node_id, thr_no, block_name, thread_name, pages_written, > pages_written_lcp, pages_read, log_waits, > page_requests_direct_return, page_requests_wait_queue, > page_requests_wait_io > FROM ndbinfo。diskpagebuffer > INNER JOIN ndbinfo。threadblocksUSING (node_id, block_instance) > INNER JOIN ndbinfo.threads USING (node_id, thr_no) > WHERE block_name = 'PGMAN' LIMIT 1\G *************************** 1. row *************************** node_id: 1 thr_no: 1 block_name: PGMAN thread_name: rep pages_written: 0 pages_written_lcp: 0 pages_read: 1 log_waits: 0 page_requests_direct_return: 4 page_requests_wait_queue: 0 page_requests_wait_io: 1 1 row in set (0.01 sec)