GBase 8a 提供了查看当前系统运行期状况的元数据表,其中performance_schema.CACHE_usage_info表包含了当前服务的内存缓冲信息,以及每个DC的具体详情CACHE_CELL_STATUS_INFO。本文介绍该表的使用方法。
该功能,需要打开数据库统计内存功能才可看到数据。 GBase 8a集群统计运行期内存使用情况_gbase_session_memory_stat参数
目录导航
CACHE_usage_info 元数据表
说明
| 字段 | 类型 | 说明 | 
|---|---|---|
| HOST | varchar(64) | 主机名字,就是本机 | 
| TOTAL_DC | bigint(16) | DC总数量 | 
| UNLOCKED_DC | bigint(16) | 没有被锁住的DC总数量(表示可以被redlease释放) | 
| TOTAL_DC_SIZE | bigint(16) | DC占用总内存大小(单位:字节) | 
| UNLOCKED_DC_SIZE | bigint(16) | 没有被锁住的DC占用内存大小(单位:字节) | 
| HOT_TOTAL_DC | bigint(16) | 热数据DC数量 | 
| HOT_UNLOCKED_DC | bigint(16) | 没有被锁住的热数据DC数量 | 
| HOT_TOTAL_DC_SIZE | bigint(16) | 热数据DC占用总内存大小(单位:字节) | 
| HOT_UNLOCKED_DC_SIZE | bigint(16) | 没有被锁住的热数据DC占用内存大小(单位:字节) | 
| COLD_TOTAL_DC | bigint(16) | 冷数据DC数量 | 
| COLD_UNLOCKED_DC | bigint(16) | 没有被锁住的冷数据DC数量 | 
| COLD_TOTAL_DC_SIZE | bigint(16) | 冷数据DC占用总内存大小(单位:字节) | 
| COLD_UNLOCKED_DC_SIZE | bigint(16) | 没有被锁住的冷数据DC占用内存大小(单位:字节) | 
| HIT_RATE | varchar(16) | DC命中率 | 
使用样例
默认没有缓冲时
全部数值为0
gbase> select * from CACHE_usage_info;
+-------+----------+-------------+---------------+------------------+--------------+-----------------+-------------------+----------------------+---------------+------------------+--------------------+-----------------------+----------+
| HOST  | TOTAL_DC | UNLOCKED_DC | TOTAL_DC_SIZE | UNLOCKED_DC_SIZE | HOT_TOTAL_DC | HOT_UNLOCKED_DC | HOT_TOTAL_DC_SIZE | HOT_UNLOCKED_DC_SIZE | COLD_TOTAL_DC | COLD_UNLOCKED_DC | COLD_TOTAL_DC_SIZE | COLD_UNLOCKED_DC_SIZE | HIT_RATE |
+-------+----------+-------------+---------------+------------------+--------------+-----------------+-------------------+----------------------+---------------+------------------+--------------------+-----------------------+----------+
| rh6-2 |        0 |           0 |             0 |                0 |            0 |               0 |                 0 |                    0 |             0 |                0 |                  0 |                     0 | 100%     |
+-------+----------+-------------+---------------+------------------+--------------+-----------------+-------------------+----------------------+---------------+------------------+--------------------+-----------------------+----------+
1 row in set (Elapsed: 00:00:00.00)
查询一个表后
该表有50万行,8个DC(每个DC 65536行)。可以看到缓冲的DC数量为8. 命中率30%。
gbase> select * from testdb.t1_n1;
+-------+------+
| id    | name |
+-------+------+
|   222 | NULL |
|  5105 | NULL |
| 18263 | NULL |
| 16969 | NULL |
|  6116 | NULL |
^C| 13664 | Query aborted by Ctrl+C
NULL |
+-------+------+
500001 rows in set (Elapsed: 00:00:00.61)
gbase> select * from CACHE_usage_info;
ERROR 1317 (70100): Query execution was interrupted
gbase> select * from CACHE_usage_info;
+-------+----------+-------------+---------------+------------------+--------------+-----------------+-------------------+----------------------+---------------+------------------+--------------------+-----------------------+----------+
| HOST  | TOTAL_DC | UNLOCKED_DC | TOTAL_DC_SIZE | UNLOCKED_DC_SIZE | HOT_TOTAL_DC | HOT_UNLOCKED_DC | HOT_TOTAL_DC_SIZE | HOT_UNLOCKED_DC_SIZE | COLD_TOTAL_DC | COLD_UNLOCKED_DC | COLD_TOTAL_DC_SIZE | COLD_UNLOCKED_DC_SIZE | HIT_RATE |
+-------+----------+-------------+---------------+------------------+--------------+-----------------+-------------------+----------------------+---------------+------------------+--------------------+-----------------------+----------+
| rh6-2 |        8 |           8 |       1000098 |          1000098 |            8 |               8 |           1000098 |              1000098 |             0 |                0 |                  0 |                     0 | 30%      |
+-------+----------+-------------+---------------+------------------+--------------+-----------------+-------------------+----------------------+---------------+------------------+--------------------+-----------------------+----------+
1 row in set (Elapsed: 00:00:00.00)
gbase> select * from CACHE_usage_info\G;
*************************** 1. row ***************************
                 HOST: rh6-2
             TOTAL_DC: 8
          UNLOCKED_DC: 8
        TOTAL_DC_SIZE: 1000098
     UNLOCKED_DC_SIZE: 1000098
         HOT_TOTAL_DC: 8
      HOT_UNLOCKED_DC: 8
    HOT_TOTAL_DC_SIZE: 1000098
 HOT_UNLOCKED_DC_SIZE: 1000098
        COLD_TOTAL_DC: 0
     COLD_UNLOCKED_DC: 0
   COLD_TOTAL_DC_SIZE: 0
COLD_UNLOCKED_DC_SIZE: 0
             HIT_RATE: 30%
1 row in set (Elapsed: 00:00:00.00)
再次查询该表的100行
命中率增加到了36.36%,全部是热数据。
gbase> select * from testdb.t1_n1 limit 100;
+-------+------+
| id    | name |
+-------+------+
|   222 | NULL |
。。。。。。
| 23793 | NULL |
+-------+------+
100 rows in set (Elapsed: 00:00:00.00)
gbase> select * from CACHE_usage_info\G;
*************************** 1. row ***************************
                 HOST: rh6-2
             TOTAL_DC: 8
          UNLOCKED_DC: 8
        TOTAL_DC_SIZE: 1000098
     UNLOCKED_DC_SIZE: 1000098
         HOT_TOTAL_DC: 8
      HOT_UNLOCKED_DC: 8
    HOT_TOTAL_DC_SIZE: 1000098
 HOT_UNLOCKED_DC_SIZE: 1000098
        COLD_TOTAL_DC: 0
     COLD_UNLOCKED_DC: 0
   COLD_TOTAL_DC_SIZE: 0
COLD_UNLOCKED_DC_SIZE: 0
             HIT_RATE: 36.36%
1 row in set (Elapsed: 00:00:00.00)
DC详细信息源数据表 CACHE_CELL_STATUS_INFO
说明
| 字段 | 类型 | 说明 | 
|---|---|---|
| TABLE_ID | bigint(16) | 表编号(GBase 8a查看表的tableId) | 
| COLUMN_ID | bigint(16) | 列编号,从0开始 | 
| DP | bigint(16) | DC的位置,从0开始 | 
| LOCK_COUNT | bigint(16) | 被锁的次数 | 
| LOCKED | bigint(16) | 锁住状态,1=是,0=否 | 
| SIZE | bigint(16) | 占用内存大小 | 
样例
如下是前面的内存缓冲表数据,每个DC的情况信息
gbase> select * from CACHE_CELL_STATUS_INFO;
+----------+-----------+----+------------+--------+--------+
| TABLE_ID | COLUMN_ID | DP | LOCK_COUNT | LOCKED | SIZE   |
+----------+-----------+----+------------+--------+--------+
|   243717 |         0 |  6 |          0 |      0 | 131084 |
|   243717 |         0 |  7 |          0 |      0 |  82510 |
|   243717 |         0 |  3 |          0 |      0 | 131084 |
|   243717 |         0 |  2 |          0 |      0 | 131084 |
|   243717 |         0 |  5 |          0 |      0 | 131084 |
|   243717 |         0 |  1 |          0 |      0 | 131084 |
|   243717 |         0 |  4 |          0 |      0 | 131084 |
|   243717 |         0 |  0 |          0 |      0 | 131084 |
+----------+-----------+----+------------+--------+--------+
8 rows in set (Elapsed: 00:00:00.00)