Skip to main contentIBM dmctop Wiki

Top Consumers / Connections

Purpose

Find the connections (sessions) that have consumed the most resources over their lifetime. This view is helpful for diagnosing problems where large numbers of small activities in aggregate are consuming excessive resources. A common scenario of this type is applications loading data one row at a time using singleton inserts. This can be very disruptive but each individual insert is tiny and so is the singleton transaction associated with it. This view will highlight connections engaged in these sort of activities.

Note that this overlaps somewhat in functionality with the Sessions (connections) view. If you go to the connections view, in counter mode, you could select various columns one at a time and sort by them to find the connections that have consumed the most CPU, read the most rows, etc. This view provides a convenient way to get similar information in one step.

Screenshot

image

Metric shown

Gauge

Following is the variable used as denominator in this section:


Wait lock ms%

The percentage of time spent waiting for locks.

= LOCK_WAIT_TIME / TOTAL_TIME

Source:

LOCK_WAIT_TIME = MON_GET_DATABASE(#MEMBER#).SUM(LOCK_WAIT_TIME)


Sort ms%

The percentage of time spent performing sorts while executing a section, which is the execution of the compiled query plan generated by the SQL statement that was issued by the client application.

= TOTAL_SECTION_SORT_TIME / TOTAL_TIME

Source:

TOTAL_SECTION_SORT_TIME = MON_GET_DATABASE(#MEMBER#).SUM(TOTAL_SECTION_SORT_TIME)


BP r/w ms%

The percentage of time spent reading and writing in data and index pages from the table space containers (physical) for all types of table spaces.

= BP_IO_TIME / TOTAL_TIME

Source:

BP_IO_TIME = MON_GET_DATABASE(#MEMBER#).SUM(POOL_READ_TIME + POOL_WRITE_TIME)


Async r/w ms%

The percentage of time for asynchronous writes and reads to complete.

= BP_ASYNC_IO_TIME / TOTAL_TIME

Source:

BP_ASYNC_IO_TIME = MON_GET_DATABASE(#MEMBER#).SUM(POOL_ASYNC_READ_TIME + POOL_ASYNC_WRITE_TIME)


Pref wait ms%

The percentage of time an application spent waiting for an I/O server (prefetcher) to finish loading pages into the buffer pool.

= PREFETCH_WAIT_TIME / TOTAL_TIME

Source:

PREFETCH_WAIT_TIME = MON_GET_DATABASE(#MEMBER#).SUM(PREFETCH_WAIT_TIME)


Dir r/w ms%

The percentage of time required to perform the direct reads and writes.

= DIRECT_IO_TIME / TOTAL_TIME

Source:

DIRECT_IO_TIME = MON_GET_DATABASE(#MEMBER#).SUM(DIRECT_READ_TIME + DIRECT_WRITE_TIME)

Table


0 CPU Time

The connection with maximum amount of CPU time used while within the database system.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(TOTAL_CPU_TIME)


1 Rows read

The connection with maximum number of rows read from the table.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(ROWS_READ)


2 Rows returned

The connection with maximum number of rows that have been selected and returned to the application.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(ROWS_RETURNED)


3 Rows written

The connection with maximum number of rows inserted, updated, or deleted.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(ROWS_MODIFIED)


4 Logical reads

The connection with maximum number of pages which have been requested from the buffer pool (logical).


5 IO r/w

The connection with maximum number of pages which have been requested from the buffer pool (logical) or been written to disk.


6 Memory

The connection with maximum amount of committed memory in use by this memory pool.


7 Sort time

The connection with maximum amount of time spent performing sorts while executing a section.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(TOTAL_SECTION_SORT_TIME)


8 Num sorts

The connection with maximum number of sorts that have been executed.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(TOTAL_SORTS)


9 Sort overflows

The connection with maximum number of sorts that ran out of sort heap and may have required disk space for temporary storage.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(SORT_OVERFLOWS)


10 Num threshold violations

The connection with maximum number of times a threshold was violated.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(THRESH_VIOLATIONS)


11 FCM traffic

The connection with maximum amount of data received via or distributed by the FCM communications layer.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(FCM_SEND_VOLUME + FCM_RECV_VOLUME)


12 Num agents

The connection with maximum number of subagents associated with an application.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(NUM_ASSOC_AGENTS)


13 Num locks held

The connection with maximum number of locks currently held.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(NUM_LOCKS_HELD)


14 Lock escalations

The connection with maximum number of times that locks have been escalated from several row locks to a table lock.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(LOCK_ESCALS)


15 Lock timeouts

The connection with maximum number of times that a request to lock an object timed out instead of being granted.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(LOCK_TIMEOUTS)


16 Locks waits

The connection with maximum number of times that applications or connections waited for locks.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(LOCK_WAITS)


17 Lock wait time

The connection with maximum elapsed time spent waiting for locks.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(LOCK_WAIT_TIME)


18 Local wait time (Global)

The connection with maximum time spent on global lock waits.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(LOCK_WAIT_TIME_GLOBAL)


19 Lock waits (Global)

The connection with maximum number of lock waits due to the application holding the lock being on a remote member.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(LOCK_WAITS_GLOBAL)


20 CF wait time

The connection with maximum amount of time spent communicating with the cluster caching facility.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(CF_WAIT_TIME)


21 CF waits

The connection with maximum number of times that the database system waited while it communicated with a cluster caching facility.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).SUM(CF_WAITS)


Application handle

A system-wide unique ID for the application.

Source: MON_GET_CONNECTION(NULL, #MEMBER#).APPLICATION_HANDLE


Resource usage

The percentage of application resource usage.


Resource value

The corresponding resource value.


Application name

The name of the application running at the client, as known to the database or Db2 Connect server.


Latest statement text

-