Disk Manager

The disk manager controls operations between the eXtremeDB cache and the persistent storage media. Following is the definition of the mco_disk_info_t structure which describes the state of the current Disk Manager.

Disk info

The structure is defined in mco.h as follows:

 
    typedef struct mco_disk_info
    {
        mco_offs_t data_file_size;     /* Total size of database storage */
        mco_offs_t log_file_size;      /* Total size of database log */
        mco_offs_t used_database_size; /* Size of used part of database storage */
    } mco_disk_info_t;
     

 

data_file_size Total size of database storage
log_file_size Total size of database log.
used_database_size Size of used part of database storage

 

Cache info

Following is the definition of the mco_disk_cache_info_t structure which describes the state of the current Disk Manager cache.

The structure is defined in mco.h as follows:

 
    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; /* Number of pinned pages: need to be 32 bit to be able to use atomic  */
        mco_counter_t modified_pages; /* Number of pages modified by active transactions */
        mco_counter_t dirty_pages; /* Number of dirty pages */
        mco_counter_t copied_pages; /* Number of copies of original pages (REDO_LOG+MCO_COMMIT_DELAYED) */
        mco_counter_t write_delayed_pages; /* Number of write delayed pages */
        mco_counter_t subsequent_reads;    /* Number of reads of sequentally located paged */
    } mco_disk_cache_info_t;
     

 

connection_cache_hits The number of connection cache hits since the database was opened
cache_hits The number of disk manager cache hits since the database was opened
cache_misses The number of disk manager cache misses
allocated_pages The disk manager cache size in pages
used_pages The number of used pages in the disk cache
pinned_pages The number of pages pinned. Pinned pages can’t be swapped out
modified_pages Number of pages in the cache modified by active transactions (as opposed to dirty pages, below). The number of modified pages is always less than or equal to the number of dirty pages.
dirty_pages Number of dirty pages. In the MCO_DELAYED_COMMIT mode, it is all the pages that have not been committed to the database yet.
copied_pages Number of copies of original pages (REDO_LOG+MCO_COMMIT_DELAYED). The number of extra pages allocated from the page pool in support of the MCO_COMMIT_DELAYED mode. In order to roll back a transaction in this mode, the database runtime saves images of the modified pages prior to the transaction start. These copies are kept in the page pool, thus extra pages are used. When the transaction is committed all these copies are removed.
write_delayed_pages The number of write delayed pages
subsequent_reads Number of reads of sequentially located pages