存储管理
磁盘管理器控制缓存与持久存储介质之间的操作。以下是 mco_disk_info_t 结构的定义,该结构描述了当前磁盘管理器的状态。
磁盘信息
该结构在 mco.h
中定义如下:
typedef struct mco_disk_info
{
mco_offs_t data_file_size; // 数据库存储的总大小。
mco_offs_t log_file_size; // 数据库日志的总大小。
mco_offs_t used_database_size; // 已使用数据库存储空间的大小。
} mco_disk_info_t;
缓存信息
以下是 mco_disk_cache_info_t 结构的定义,该结构描述了当前磁盘管理器缓存的状态。
该结构在 mco.h
中定义如下:
typedef struct mco_disk_cache_info_t_
{
mco_counter_t connection_cache_hits;
mco_counter_t cache_hits;
mco_counter_t cache_misses;
mco_counter_t allocated_pages;
mco_counter_t used_pages;
mco_counter32_t pinned_pages;
mco_counter_t modified_pages;
mco_counter_t dirty_pages;
mco_counter_t copied_pages;
mco_counter_t write_delayed_pages;
mco_counter_t subsequent_reads;
} mco_disk_cache_info_t;
connection_cache_hits
mco_counter_t
自数据库打开以来连接缓存命中的次数。
cache_hits
mco_counter_t
自数据库打开以来磁盘管理器缓存命中的次数。
cache_misses
mco_counter_t
磁盘管理器缓存失败的次数。
allocated_pages
mco_counter_t
磁盘管理器缓存大小(以页为单位)。
used_pages
mco_counter_t
磁盘缓存中已使用的页面数量。
pinned_pages
mco_counter32_t
已固定页面的数量。固定页面不能被换出。
modified_pages
mco_counter_t
缓存中由活动事务修改的页面数量(与下面的脏页相对)。修改的页面数量始终小于或等于脏页的数量。
dirty_pages
mco_counter_t
脏页数量。在 MCO_DELAYED_COMMIT
模式下,它指的是所有尚未提交到数据库的页面。
copied_pages
mco_counter_t
原始页的副本数量(REDO_LOG
+ MCO_COMMIT_DELAYED
)。为支持 MCO_COMMIT_DELAYED
模式从页池分配的额外页的数量。在此模式下,为了回滚事务,数据库运行时会在事务开始前保存已修改页的映像。这些副本保存在页池中,因此会使用额外的页。当事务提交时,所有这些副本都会被移除。
write_delayed_pages
mco_counter_t
延迟写入的页面数量。
subsequent_reads
mco_counter_t
连续位置页面的读取次数。