先创建测试表

show status 也展示了部分rocksdb引擎的信息

  1. +---------------------------------------+------------------------------------------+
  2. | Variable_name | Value |
  3. +---------------------------------------+------------------------------------------+
  4. | rocksdb_rows_deleted | 0 |
  5. | rocksdb_rows_inserted | 1048579 |
  6. | rocksdb_rows_read | 3145755 |
  7. | rocksdb_rows_updated | 7 |
  8. | rocksdb_system_rows_deleted | 0 |
  9. | rocksdb_system_rows_inserted | 0 |
  10. | rocksdb_system_rows_read | 0 |
  11. | rocksdb_system_rows_updated | 0 |
  12. | rocksdb_block_cache_add | 16 |
  13. | rocksdb_block_cache_data_hit | 76 |
  14. | rocksdb_block_cache_data_miss | 6 |
  15. | rocksdb_block_cache_filter_hit | 0 |
  16. | rocksdb_block_cache_filter_miss | 6 |
  17. | rocksdb_block_cache_hit | 76 |
  18. | rocksdb_block_cache_index_hit | 0 |
  19. | rocksdb_block_cache_index_miss | 6 |
  20. | rocksdb_block_cache_miss | 18 |
  21. | rocksdb_block_cachecompressed_hit | 0 |
  22. | rocksdb_block_cachecompressed_miss | 0 |
  23. | rocksdb_bloom_filter_prefix_checked | 0 |
  24. | rocksdb_bloom_filter_prefix_useful | 0 |
  25. | rocksdb_bloom_filter_useful | 0 |
  26. | rocksdb_bytes_read | 13631762 |
  27. | rocksdb_bytes_written | 108009584 |
  28. | rocksdb_compact_read_bytes | 142 |
  29. | rocksdb_compact_write_bytes | 0 |
  30. | rocksdb_compaction_key_drop_new | 0 |
  31. | rocksdb_compaction_key_drop_obsolete | 4 |
  32. | rocksdb_compaction_key_drop_user | 4 |
  33. | rocksdb_flush_write_bytes | 7211 |
  34. | rocksdb_getupdatessince_calls | 0 |
  35. | rocksdb_git_date | %cI |
  36. | rocksdb_git_hash | bc5d7b70299b763127f3714055a63ebe7e04ad47 |
  37. | rocksdb_l0_num_files_stall_micros | 0 |
  38. | rocksdb_l0_slowdown_micros | 0 |
  39. | rocksdb_memtable_compaction_micros | 0 |
  40. | rocksdb_memtable_hit | 1048593 |
  41. | rocksdb_memtable_miss | 1048609 |
  42. | rocksdb_no_file_closes | 0 |
  43. | rocksdb_no_file_errors | 0 |
  44. | rocksdb_no_file_opens | 6 |
  45. | rocksdb_num_iterators | 0 |
  46. | rocksdb_number_block_not_compressed | 0 |
  47. | rocksdb_number_deletes_filtered | 0 |
  48. | rocksdb_number_keys_read | 2097202 |
  49. | rocksdb_number_keys_updated | 0 |
  50. | rocksdb_number_keys_written | 2097220 |
  51. | rocksdb_number_merge_failures | 0 |
  52. | rocksdb_number_multiget_bytes_read | 0 |
  53. | rocksdb_number_multiget_get | 0 |
  54. | rocksdb_number_multiget_keys_read | 0 |
  55. | rocksdb_number_reseeks_iteration | 0 |
  56. | rocksdb_number_sst_entry_delete | 12 |
  57. | rocksdb_number_sst_entry_merge | 0 |
  58. | rocksdb_number_sst_entry_other | 0 |
  59. | rocksdb_number_sst_entry_put | 30 |
  60. | rocksdb_number_sst_entry_singledelete | 0 |
  61. | rocksdb_number_stat_computes | 0 |
  62. | rocksdb_number_superversion_acquires | 21 |
  63. | rocksdb_number_superversion_cleanups | 1 |
  64. | rocksdb_number_superversion_releases | 1 |
  65. | rocksdb_rate_limit_delay_millis | 0 |
  66. | rocksdb_snapshot_conflict_errors | 0 |
  67. | rocksdb_wal_bytes | 54006676 |
  68. | rocksdb_wal_group_syncs | 0 |
  69. | rocksdb_wal_synced | 13 |
  70. | rocksdb_write_other | 0 |
  71. | rocksdb_write_self | 58 |
  72. | rocksdb_write_timedout | 0 |
  73. | rocksdb_write_wal | 58 |
  74. +---------------------------------------+------------------------------------------+

information_schema下rocksdb相关的表如下

  1. select table_name from INFORMATION_SCHEMA.tables where table_name like '%rock%';
  2. +-----------------------------+
  3. | table_name |
  4. +-----------------------------+
  5. | ROCKSDB_PERF_CONTEXT |
  6. | ROCKSDB_GLOBAL_INFO |
  7. | ROCKSDB_COMPACTION_STATS |
  8. | ROCKSDB_INDEX_FILE_MAP |
  9. | ROCKSDB_CF_OPTIONS |
  10. | ROCKSDB_PERF_CONTEXT_GLOBAL |
  11. | ROCKSDB_CFSTATS |
  12. | ROCKSDB_DBSTATS |
  13. | ROCKSDB_DDL |
  14. | ROCKSDB_LOCKS |
  15. +-----------------------------+
  • 数据字典相关
  1. show create table INFORMATION_SCHEMA.ROCKSDB_INDEX_FILE_MAP\G
  2. *************************** 1. row ***************************
  3. Table: ROCKSDB_INDEX_FILE_MAP
  4. Create Table: CREATE TEMPORARY TABLE `ROCKSDB_INDEX_FILE_MAP` (
  5. `COLUMN_FAMILY` int(4) NOT NULL DEFAULT '0',
  6. `INDEX_NUMBER` int(4) NOT NULL DEFAULT '0',
  7. `SST_NAME` varchar(193) NOT NULL DEFAULT '',
  8. `NUM_ROWS` bigint(8) NOT NULL DEFAULT '0',
  9. `DATA_SIZE` bigint(8) NOT NULL DEFAULT '0',
  10. `ENTRY_DELETES` bigint(8) NOT NULL DEFAULT '0',
  11. `ENTRY_SINGLEDELETES` bigint(8) NOT NULL DEFAULT '0',
  12. `ENTRY_MERGES` bigint(8) NOT NULL DEFAULT '0',
  13. `ENTRY_OTHERS` bigint(8) NOT NULL DEFAULT '0'
  14. ) ENGINE=MEMORY DEFAULT CHARSET=utf8
  15. 1 row in set (0.00 sec)
  16. mysql> show create table INFORMATION_SCHEMA.ROCKSDB_DDL\G
  17. *************************** 1. row ***************************
  18. Table: ROCKSDB_DDL
  19. Create Table: CREATE TEMPORARY TABLE `ROCKSDB_DDL` (
  20. `TABLE_SCHEMA` varchar(193) NOT NULL DEFAULT '',
  21. `TABLE_NAME` varchar(193) NOT NULL DEFAULT '',
  22. `PARTITION_NAME` varchar(193) DEFAULT NULL,
  23. `INDEX_NAME` varchar(193) NOT NULL DEFAULT '',
  24. `COLUMN_FAMILY` int(4) NOT NULL DEFAULT '0',
  25. `INDEX_NUMBER` int(4) NOT NULL DEFAULT '0',
  26. `INDEX_TYPE` smallint(2) NOT NULL DEFAULT '0',
  27. `KV_FORMAT_VERSION` smallint(2) NOT NULL DEFAULT '0',
  28. `CF` varchar(193) NOT NULL DEFAULT ''
  29. ) ENGINE=MEMORY DEFAULT CHARSET=utf8

例如查询t1表的数据字典信息

  • 事务相关
  1. begin;
  2. select * from INFORMATION_SCHEMA.ROCKSDB_LOCKS;
  3. INSERT INTO t1 (a,b) VALUES (1,'a');
  4. select * from INFORMATION_SCHEMA.ROCKSDB_LOCKS;
  5. +------------------+----------------+------------------+------+
  6. | COLUMN_FAMILY_ID | TRANSACTION_ID | KEY | MODE |
  7. +------------------+----------------+------------------+------+
  8. | 2 | 14 | 0000010780000001 | X |
  9. +------------------+----------------+------------------+------+
  10. select * from INFORMATION_SCHEMA.ROCKSDB_TRX\G
  11. *************************** 1. row ***************************
  12. TRANSACTION_ID: 89
  13. STATE: STARTED
  14. NAME:
  15. WRITE_COUNT: 2
  16. LOCK_COUNT: 2
  17. TIMEOUT_SEC: 2
  18. WAITING_KEY:
  19. WAITING_COLUMN_FAMILY_ID: 0
  20. IS_REPLICATION: 0
  21. SKIP_TRX_API: 0
  22. READ_ONLY: 0
  23. HAS_DEADLOCK_DETECTION: 0
  24. NUM_ONGOING_BULKLOAD: 0
  25. THREAD_ID: 13
  26. QUERY: select * from INFORMATION_SCHEMA.ROCKSDB_TRX

其中KEY 0000010780100002表示indexnum:107(263)pk: 80000001(1) 表示(1,’a’,1)这条记录,具体参考

  • 统计信息相关
  1. select * from INFORMATION_SCHEMA.ROCKSDB_GLOBAL_INFO;
  2. +--------------+--------------+-----------------------------------------+
  3. | TYPE | NAME | VALUE |
  4. +--------------+--------------+-----------------------------------------+
  5. | BINLOG | FILE | mysql-bin.000003 |
  6. | BINLOG | POS | 18957545 |
  7. | BINLOG | GTID | b89fb268-0b22-11e7-a0ce-2c44fd7a5210:27 |
  8. | MAX_INDEX_ID | MAX_INDEX_ID | 264 |
  9. | CF_FLAGS | 0 | default [0] |
  10. | CF_FLAGS | 1 | __system__ [0] |
  11. | CF_FLAGS | 2 | cf_1 [0] |
  12. | CF_FLAGS | 3 | cf_2 [0] |
  13. +--------------+--------------+-----------------------------------------+
  14. select * from INFORMATION_SCHEMA.ROCKSDB_DBSTATS;
  15. +-------------------------+-------+
  16. | STAT_TYPE | VALUE |
  17. +-------------------------+-------+
  18. | DB_BACKGROUND_ERRORS | 0 |
  19. | DB_NUM_SNAPSHOTS | 0 |
  20. | DB_OLDEST_SNAPSHOT_TIME | 0 |
  21. | DB_BLOCK_CACHE_USAGE | 1119 |
  22. +-------------------------+-------+
  23. +---------+-------------------------------+----------+
  24. +---------+-------------------------------+----------+
  25. | cf_1 | NUM_IMMUTABLE_MEM_TABLE | 0 |
  26. | cf_1 | MEM_TABLE_FLUSH_PENDING | 0 |
  27. | cf_1 | COMPACTION_PENDING | 0 |
  28. | cf_1 | CUR_SIZE_ACTIVE_MEM_TABLE | 44739520 |
  29. | cf_1 | CUR_SIZE_ALL_MEM_TABLES | 44739520 |
  30. | cf_1 | NUM_ENTRIES_ACTIVE_MEM_TABLE | 1048574 |
  31. | cf_1 | NUM_ENTRIES_IMM_MEM_TABLES | 0 |
  32. | cf_1 | NON_BLOCK_CACHE_SST_MEM_USAGE | 0 |
  33. | cf_1 | NUM_LIVE_VERSIONS | 1 |
  34. +---------+-------------------------------+----------+
  • 性能相关

性能统计由参数rocksdb_perf_context_level控制,取值范围如下

  1. enum PerfLevel : unsigned char {
  2. kUninitialized = 0, // unknown setting
  3. kDisable = 1, // disable perf stats
  4. kEnableCount = 2, // enable only count stats
  5. kEnableTimeExceptForMutex = 3, // Other than count stats, also enable time
  6. // stats except for mutexes
  7. kEnableTime = 4, // enable count and time stats
  8. kOutOfBounds = 5 // N.B. Must always be the last value!
  9. };

示例如下:

  • COMPACTION相关
  1. select * from INFORMATION_SCHEMA.ROCKSDB_COMPACTION_STATS where CF_NAME='cf_1' limit 3;
  2. +---------+-------+-----------+-------+
  3. | CF_NAME | LEVEL | TYPE | VALUE |
  4. +---------+-------+-----------+-------+
  5. | cf_1 | L0 | AvgSec | 0 |
  6. | cf_1 | L0 | CompCount | 2 |
  7. | cf_1 | L0 | CompSec | 0 |
  8. +---------+-------+-----------+-------+

具体可以参考下节SHOW ENGINE ROCKSDB STATUS。

  • 参数配置

每个column family 都是独立的配置信息

  1. select * from INFORMATION_SCHEMA.ROCKSDB_CF_OPTIONS where CF_NAME='cf_1' limit 3;
  2. +---------+-------------------+------------------+
  3. | CF_NAME | OPTION_TYPE | VALUE |
  4. +---------+-------------------+------------------+
  5. | cf_1 | COMPARATOR | RocksDB_SE_v3.10 |
  6. | cf_1 | MERGE_OPERATOR | NULL |
  7. | cf_1 | COMPACTION_FILTER | NULL |
  8. +---------+-------------------+------------------+

show engine rocksdb status.结果主要分为三部分
1)DB Stats
2)Compaction Stats
3)Memory_Stats

  1. show engine rocksdb status\G
  2. *************************** 1. row ***************************
  3. Type: DBSTATS
  4. Name: rocksdb
  5. Status:
  6. ** DB Stats **
  7. Uptime(secs): 211548.0 total, 8140.1 interval
  8. Cumulative writes: 58 writes, 2097K keys, 58 commit groups, 1.0 writes per commit group, ingest: 0.10 GB, 0.00 MB/s
  9. Cumulative WAL: 58 writes, 13 syncs, 4.14 writes per sync, written: 0.05 GB, 0.00 MB/s
  10. Cumulative stall: 00:00:0.000 H:M:S, 0.0 percent
  11. Interval writes: 0 writes, 0 keys, 0 commit groups, 0.0 writes per commit group, ingest: 0.00 MB, 0.00 MB/s
  12. Interval WAL: 0 writes, 0 syncs, 0.00 writes per sync, written: 0.00 MB, 0.00 MB/s
  13. Interval stall: 00:00:0.000 H:M:S, 0.0 percent
  14. ......(省略)
  15. *************************** 3. row ***************************
  16. Type: CF_COMPACTION
  17. Name: cf_1
  18. Status:
  19. ** Compaction Stats [cf_1] **
  20. Level Files Size(MB} Score Read(GB} Rn(GB} Rnp1(GB} Write(GB} Wnew(GB} Moved(GB} W-Amp Rd(MB/s} Wr(MB/s} Comp(sec} Comp(cnt} Avg(sec} KeyIn KeyDrop
  21. ----------------------------------------------------------------------------------------------------------------------------------------------------------
  22. L0 1/0 0.00 0.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.3 0 2 0.004 0 0
  23. Sum 1/0 0.00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.1 0.2 0 3 0.004 2 2
  24. Int 0/0 0.00 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0.000 0 0
  25. Uptime(secs): 210665.0 total, 210665.0 interval
  26. Flush(GB): cumulative 0.000, interval 0.000
  27. AddFile(GB): cumulative 0.000, interval 0.000
  28. AddFile(Total Files): cumulative 0, interval 0
  29. AddFile(L0 Files): cumulative 0, interval 0
  30. AddFile(Keys): cumulative 0, interval 0
  31. Cumulative compaction: 0.00 GB write, 0.00 MB/s write, 0.00 GB read, 0.00 MB/s read, 0.0 seconds
  32. Interval compaction: 0.00 GB write, 0.00 MB/s write, 0.00 GB read, 0.00 MB/s read, 0.0 seconds
  33. Stalls(count): 0 level0_slowdown, 0 level0_slowdown_with_compaction, 0 level0_numfiles, 0 level0_numfiles_with_compaction, 0 stop for pending_compaction_bytes, 0 slowdown for pending_compaction_bytes, 0 memtable_compaction, 0 memtable_slowdown, interval 0 total count
  34. ......(省略)
  35. *************************** 6. row ***************************
  36. Type: Memory_Stats
  37. Name: rocksdb
  38. Status:
  39. MemTable Total: 93675232
  40. MemTable Unflushed: 93673184
  41. Table Readers Total: 0
  42. Cache Total: 1119
  43. Default Cache Capacity: 0
  • DB Stats

其中: Interval stall: 此值受max_write_buffer_number,level0_slowdown_writes_trigger、soft_pending_compaction_bytes_limit等参数的影响, 具体参考(SetupDelay)

  • Compaction Stats

其中 Rn(GB} = bytes_read_non_output_levels / kGB Rnp1(GB} = bytes_read_output_level / kGB W-Amp = bytes_written/bytes_read_non_output_levels

此部分内容与 INFORMATION_SCHEMA.ROCKSDB_COMPACTION_STATS有部分重合。

  • Memory_Stats

MemTable Total: 对应DB::Properties::kSizeAllMemTables MemTable Unflushed:对应DB::Properties::kCurSizeAllMemTables Table Readers Total: 对应DB::Properties::kEstimateTableReadersMem Cache Total: 表示已使用的内存 Default Cache Capacity: 使用默认blockcache的总量(basetable没有指定blockcache时使用默认的8M的blockcache)

显示当前正在运行的事务语句