• Alfranio Correia's avatar
    BUG#57275 binlog_cache_size affects trx- and stmt-cache and gets twice the expected memory · bf2c66d4
    Alfranio Correia authored
          
    After the WL#2687, the binlog_cache_size and max_binlog_cache_size affect both the
    stmt-cache and the trx-cache. This means that the resource used is twice the amount
    expected/defined by the user.
          
    The binlog_cache_use is incremented when the stmt-cache or the trx-cache is used
    and binlog_cache_disk_use is incremented when the disk space from the stmt-cache or the
    trx-cache is used. This behavior does not allow to distinguish which cache may be harming
    performance due to the extra disk accesses and needs to have its in-memory cache
    increased.
          
    To fix the problem, we introduced two new options and status variables related to the
    stmt-cache:
          
      Options:
          
        . binlog_stmt_cache_size
        . max_binlog_stmt_cache_size
          
        Status Variables:
          
        . binlog_stmt_cache_use
        . binlog_stmt_cache_disk_use
    
    So there are
    
      . binlog_cache_size that defines the size of the transactional cache for
      updates to transactional engines for the binary log.
    
      . binlog_stmt_cache_size that defines the size of the statement cache for
      updates to non-transactional engines for the binary log.
    
      . max_binlog_cache_size that sets the total size of the transactional
      cache.
    
      . max_binlog_stmt_cache_size that sets the total size of the statement
      cache.
    
      . binlog_cache_use that identifies the number of transactions that used the
      temporary transactional binary log cache.
    
      . binlog_cache_disk_use that identifies the number of transactions that used
      the temporary transactional binary log cache but that exceeded the value of
      binlog_cache_size.
    
      . binlog_stmt_cache_use that identifies the number of statements that used the
      temporary non-transactional binary log cache.
    
      . binlog_stmt_cache_disk_use that identifies the number of statements that used
      the temporary non-transactional binary log cache but that exceeded the value of
      binlog_stmt_cache_size.
    bf2c66d4
sys_vars.cc 121 KB