WL#2853: Global Resource Usage Command for NDB Cluster

Affects: Server-7.1   —   Status: Un-Assigned

Out of running stress testing on 5.1 the weekend came the idea to be able to
show "GLOBAL" resource usage. For the in memory cluster we allocate RAM for data
and index space.

My idea was to have a "show resource usage" in the ndb_mgm that would list out
allocated and % used. i.e.

Type     Allocated       Used
-----------------------------
Data     800MB            65%
Index    100MB            88%

This would allow administrators to be proactive rather then reactive to space
needs. In addition, customers have been asking for something similar to this
since I joined MySQL.

In talking with Martin today he shared with me what Jonas has implemented in the
mysql. This might be where we decided to add this instead of the ndb_mgm client.
Other nice to have features would include ability to do "show resources
table_name" and have the % of space that a table uses. This would allow an
administrator to watch the growth of tables inside the database and be able to
project needed space short and long term.

I am also including Martin's email to Jonas here for review.

Hi Jonas!

Jonathan has some input on this.
We need to have some way of displaying total resource usage in the kernel as
well (such as table and index space allocated in % and KB). Innodb displays
something like that. Maybe we could add that as well. Problem is that the
information here is local to a thread, so it would be nice to be able to say
SHOW ENGINE NDB [LOCAL|GLOBAL] STATUS where GLOBAL gives you kernel resource usage.
Comments?

BTW: for SHOW [ENGINE] INNODB STATUS,
ENGINE is optional, but not for SHOW ENGINE NDB STATUS; seems like a bug in
parser grammar.

BR
-- Martin