Bug #58461 InnoDB should show aggregated result for multiple buffer pool instance
Submitted: 24 Nov 2010 14:40 Modified: 12 Jan 2011 15:44
Reporter: Calvin Sun Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.5 OS:Any
Assigned to: Jimmy Yang CPU Architecture:Any
Tags: mem

[24 Nov 2010 14:40] Calvin Sun
Description:
Currently, InnoDB "show engine innodb status" displays information for multiple buffer pool instance, but no aggregated result. Existing scripts, such as MEM, may not work correctly.

See bug#58332 for details.

How to repeat:
See bug#58332.

Suggested fix:
Display aggregated info before per instance.
[24 Nov 2010 14:59] Jimmy Yang
Added aggregated output for buffer pool I/O stats output. Created buf_pool_info_t structures to cache all buffer pool stats, and provide aggregated info as well. 

For output, the aggregated data will be printed first (in the normal Buffer pool section) and if we have more than one buffer pool, the individual pool info will be printed in a new INDIVIDUAL BUFFER POOL INFO section.

----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 2186805248; in additional pool allocated 0
Dictionary memory allocated 18386
Buffer pool size   131070
Free buffers       130928
Database pages     142
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 142, created 0, written 0
0.25 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1960 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 142, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
----------------------
INDIVIDUAL BUFFER POOL INFO
----------------------
Buffer Pool 0
Buffer pool size   65535
Free buffers       65456
Database pages     79
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 79, created 0, written 0
0.25 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 960 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 79, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
Buffer Pool 1
Buffer pool size   65535
Free buffers       65472
Database pages     63
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 63, created 0, written 0
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 1000 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 63, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
--------------
[26 Nov 2010 1:06] James Day
Looks good. Certainly much more convenient to have a consolidated version in there, while the individual pool information will let us see if one is much hotter than the others, at least for I/O.
[26 Nov 2010 3:08] Jimmy Yang
Final print out format:

----------------------
BUFFER POOL AND MEMORY
----------------------

----------------------
INDIVIDUAL BUFFER POOL INFO   <=== This section printed only if more than 1 pool
----------------------
---BUFFER POOL 0
---BUFFER POOL 1
---BUFFER POOL 2

----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 2186772480; in additional pool allocated 0
Dictionary memory allocated 18386
Buffer pool size   131068
Free buffers       130926
Database pages     142
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 142, created 0, written 0
1.00 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 976 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 142, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
----------------------
INDIVIDUAL BUFFER POOL INFO
----------------------
---BUFFER POOL 0
Buffer pool size   43689
Free buffers       43595
Database pages     94
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 94, created 0, written 0
0.50 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 982 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 94, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 1
Buffer pool size   43690
Free buffers       43642
Database pages     48
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 48, created 0, written 0
0.50 reads/s, 0.00 creates/s, 0.00 writes/s
Buffer pool hit rate 963 / 1000, young-making rate 0 / 1000 not 0 / 1000
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 48, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
---BUFFER POOL 2
Buffer pool size   43689
Free buffers       43689
Database pages     0
Old database pages 0
Modified db pages  0
Pending reads 0
Pending writes: LRU 0, flush list 0, single page 0
Pages made young 0, not young 0
0.00 youngs/s, 0.00 non-youngs/s
Pages read 0, created 0, written 0
0.00 reads/s, 0.00 creates/s, 0.00 writes/s
No buffer pool page gets since the last printout
Pages read ahead 0.00/s, evicted without access 0.00/s
LRU len: 0, unzip_LRU len: 0
I/O sum[0]:cur[0], unzip sum[0]:cur[0]
--------------
ROW OPERATIONS
--------------
[22 Dec 2010 21:30] Bugs System
Pushed into mysql-trunk 5.6.1 (revid:alexander.nozdrin@oracle.com-20101222212842-y0t3ibtd32wd9qaw) (version source revid:alexander.nozdrin@oracle.com-20101222212842-y0t3ibtd32wd9qaw) (merge vers: 5.6.1) (pib:24)
[8 Jan 2011 15:10] Bugs System
Pushed into mysql-5.5 5.5.9 (revid:vasil.dimov@oracle.com-20110108150508-gpanhz48z8069qot) (version source revid:vasil.dimov@oracle.com-20110108150048-b1y9m8xe72hay0ch) (merge vers: 5.5.9) (pib:24)
[12 Jan 2011 15:44] John Russell
Added to 5.5.9 change log:

When multiple InnoDB buffer pools were enabled, SHOW ENGINE INNODB
commands displayed information about each one, but not summary
information combining statistics for the entire buffer pool
subsystem. Now, the aggregated information is displayed in the BUFFER
POOL AND MEMORY section, and information about individual buffer pool
instances is displayed in a new INDIVIDUAL BUFFER POOL INFO section.
[15 Apr 2015 9:20] MySQL Verification Team
what is the point of printing individual instance details anyway?

it means grepping an error log for trends when diagnosing long semaphore wait output impossibly tedious.