• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ndbinfo diskpagebuffer表

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

    下表提供有关表中各列的信息diskpagebuffer。该表为每一列显示名称,数据类型和简要说明。可以在表格后面的注释中找到其他信息。

    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)
          AS hit_ratio
    FROM ndbinfo.diskpagebuffer;
    

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

    +---------	+-----------	+
    | node_id	| hit_ratio	|
    +---------	+-----------	+
    |       5	|   97.6744	|
    |       6	|   97.6879	|
    |       7	|   98.1776	|
    |       8	|   98.1343	|
    +---------	+-----------	+
    4 rows in set (0.00 sec)
    

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

    注意

    更改DiskPageBufferMemory需要在生效之前滚动重启所有群集数据节点。

    block_instance指内核块的实例。连同块名一起,该数字可用于在threadblocks表中查找给定的实例。使用此信息,您可以获得有关与各个线程有关的磁盘页面缓冲区度量的信息。LIMIT 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.threadblocks USING (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)