• Sergei Petrunia's avatar
    MDEV-34190: r_engine_stats.pages_read_count is unrealistically low · 513c8270
    Sergei Petrunia authored
    The symptoms were: take a server with no activity and a table that's
    not in the buffer pool. Run a query that reads the whole table and
    observe that r_engine_stats.pages_read_count shows about 2% of the table
    was read. Who reads the rest?
    
    The cause was that page prefetching done inside InnoDB was not counted.
    
    This counts page prefetch requests made in buf_read_ahead_random() and
    buf_read_ahead_linear() and makes them visible in:
    
    - ANALYZE: r_engine_stats.pages_prefetch_read_count
    - Slow Query Log: Pages_prefetched:
    
    This patch intentionally doesn't attempt to count the time to read the
    prefetched pages:
    * there's no obvious place where one can do it
    * prefetch reads may be done in parallel (right?), it is not clear how
      to count the time in this case.
    513c8270
ha_handler_stats.h 2.2 KB