Usage
Throughput_all provides a global view of resource consumption by a database. Common uses of this data include
- Detecting performance problems by watching for excess consumption of specific resources
- Tracking how much work is being accomplished by a database
Source
The data in throughput_all comes from the table function mon_get_service_subclass. Data is aggregated across all service classes, including the system service class.
Columns
As with all repository views, the columns marked Y in the “Delta” column are actually two columns. For example, the metric described here as “rows_read” is actually a pair of columns “rows_read” which is a counter of how many rows have been read by activities since the data server was activated and “rows_read_delta”, which tells how many rows have been read by activities in the collection interval. For most purposes, the _delta version of the metrics is the most useful. The raw counter version is provided for completeness.
|
Column Name |
Delta |
Type |
Description |
|
dbconn_int |
n |
integer |
|
|
dbconn_id |
n |
varchar(255) |
|
|
prev_collected |
n |
timestamp |
|
|
collected |
n |
timestamp |
|
|
delta_msec |
n |
bigint |
|
|
row_id |
n |
char(5) |
This column always contains the string “(all)” |
|
total_cpu_usec |
Y |
bigint |
Microseconds of CPU time consumed by the data server. Divide by 1,000,000 to scale this as seconds. CPU consumption is a good indication of how much work is being done. All activities, including overhead such as compiling queries and utility work are reflected in CPU consumption. Inefficiencies that increase the cost of doing business, such as excessive recompilation or lock contention can sometimes be seen by observing that CPU consumption has risen disproportionately to the amount of useful work that is being accomplished. |
|
act_completed_total |
Y |
bigint |
Activities completed by the data server. Activities typically correspond to a query. The number of activities completed is a measure of work accomplished. |
|
rows_read |
Y |
bigint |
Rows read is a good indication of how much work is being done by queries. Non-query work such as utilities and overhead for internal activities of the data server is largely excluded from rows read. So it is a better measure than CPU time for evaluating how much useful work is being accomplished. |
|
rows_modified |
Y |
bigint |
Rows modified includes updates and deletes of table data. Modifying data is much more expensive than reading it. |
|
rows_returned |
Y |
bigint |
This is the number of rows returned to the client by queries. Excessive amounts of data returned to the client can indicate a run-away query (cross product, missing filters) or abuse (people in the process of making unauthorized copies of the data) or even bad practices such as mis-guided attempts to pull large portions of the data into a spreadsheet or an application for post processing that could be better done inside the server. |
|
logical_reads |
Y |
bigint |
|
|
direct_reads |
Y |
bigint |
|
|
direct_writes |
Y |
bigint |
|
|
total_sorts |
Y |
bigint |
|
|
total_app_commits |
Y |
bigint |
|
|
total_commit_time |
Y |
bigint |
|
|
total_app_rollbacks |
Y |
bigint |
|
|
total_section_time |
Y |
bigint |
|
|
total_routine_time |
Y |
bigint |
|
|
pool_read_time |
Y |
bigint |
msec |
|
pool_write_time |
Y |
bigint |
msec |
|
direct_read_time |
Y |
bigint |
msec |
|
direct_write_time |
Y |
bigint |
msec |
|
total_section_sort_time |
Y |
bigint |
|
|
wlm_queue_time_total |
Y |
bigint |
|
|
lock_wait_time |
Y |
bigint |
|
|
log_buffer_wait_time |
Y |
bigint |
|
|
log_disk_wait_time |
Y |
bigint |
|
|
total_compile_proc_time |
Y |
bigint |
|
|
total_implicit_compile_proc_time |
Y |
bigint |
|
|
lock_waits |
Y |
bigint |
|
|
lock_timeouts |
Y |
bigint |
|
|
lock_escals |
Y |
bigint |
|
|
deadlocks |
Y |
bigint |
|
|
agent_wait_time |
Y |
bigint |
|
|
lock_wait_time_global |
Y |
bigint |
|
|
tcpip_wait_time |
Y |
bigint |
|
|
ipc_wait_time |
Y |
bigint |
|
|
audit_subsystem_wait_time |
Y |
bigint |
|
|
audit_file_wrt_wait_time |
Y |
bigint |
|
|
diaglog_write_wait_time |
Y |
bigint |
|
|
evmon_wait_time |
Y |
bigint |
|
|
total_extended_latch_wait_time |
Y |
bigint |
total extended latch wait time |
|
prefetch_wait_time |
Y |
bigint |
|
|
comm_exit_wait_time |
Y |
bigint |
|
|
ida_wait_time |
Y |
bigint |
|
|
cf_wait_time |
Y |
bigint |
|
|
reclaim_wait_time |
Y |
bigint |
|
|
spcmapg_reclaim_wait_time |
Y |
bigint |
spacemappage_reclaim_wait_time |
|
total_rtn_u_code_proc_time |
Y |
bigint |
total_rountine_user_code_proc_time |
|
total_section_proc_time |
Y |
bigint |
|
|
total_sect_sort_proc_time |
Y |
bigint |
total_section_sort_proc_time |
|
total_col_proc_time |
Y |
bigint |
|
|
total_commit_proc_time |
Y |
bigint |
|
|
total_rollback_proc_time |
Y |
bigint |
|
|
total_runstats_proc_time |
Y |
bigint |
|
|
total_reorg_proc_time |
Y |
bigint |
|
|
total_load_proc_time |
Y |
bigint |
|
|
total_backup_proc_time |
Y |
bigint |
|
|
total_idx_build_proc_time |
Y |
bigint |
total_index_build_proc_time |
|
total_con_req_prc_time |
Y |
bigint |
total_connect_request_proc_time |
|
total_con_auth_prc_time |
Y |
bigint |
total_connect_authentication_proc_time |
|
client_idle_wait_time |
Y |
bigint |
|
|
total_rqst_time |
Y |
bigint |
|
|
total_wait_time |
Y |
bigint |
|
|
sum_sql_execution_time |
Y |
bigint |
|
|
sum_nonsql_proc_time |
Y |
bigint |
|
|
sum_io_time |
Y |
bigint |
|
|
local_lock_wait_time |
Y |
bigint |
|
|
other_wait_time |
Y |
bigint |
|
|
total_act_time |
Y |
bigint |
The total amount of time spent executing activities. Unit: msec |
|
act_aborted_total |
Y |
bigint |
The total number of coordinator activities at any nesting level that completed with errors |
|
total_compilations |
Y |
bigint |
|
|
sort_overflows |
Y |
bigint |
|
|
physical_reads |
Y |
bigint |
|
|
fed_wait_time |
Y |
bigint |
federation only, supported from DB2 V11.1 |
|
fed_rows_deleted |
Y |
bigint |
federation only, supported from DB2 V11.1 |
|
fed_rows_inserted |
Y |
bigint |
federation only, supported from DB2 V11.1 |
|
fed_rows_updated |
Y |
bigint |
federation only, supported from DB2 V11.1 |
|
fed_rows_read |
Y |
bigint |
federation only, supported from DB2 V11.1 |
|
fed_waits_total |
Y |
bigint |
federation only, supported from DB2 V11.1 |
Example --
Report on Resource Consumption(CPU, I/O, Average activity time) by hour for specific monitor database:
select date(collected) as date, hour(collected) as time, sum(total_cpu_usec_delta) / 1000000.0 as cpu_sec, sum(logical_reads) as logical_reads, sum(physical_reads) as physical_reads, sum(total_act_time) / (sum(act_aborted_total) + sum(act_completed_total)) as avg_activity_time_msec
from ibm_dsm_views.throughput_all
where dbconn_id='irww' and prev_collected >= '2018-01-04-00.00.00.000000' and collected < '2018-01-05-00.00.00.000000'
group by date(collected), hour(collected)
order by date, time;
Sample Result --
DATE TIME CPU_SEC LOGICAL_READS PHYSICAL_READS AVG_ACTIVITY_TIME
------------------- ----------- --------------------------------- -------------------- -------------------------- ----------------------------
01/04/2018 2 16.01750100000 1395280 21813 506
01/04/2018 3 62.76864500000 17924925 94927 586
01/04/2018 4 63.24018500000 36289426 104054 572
01/04/2018 5 59.46574100000 53523267 114576 574
01/04/2018 6 60.68373900000 70625195 122382 573
01/04/2018 7 38.22526400000 51219759 73962 601
01/04/2018 8 129.37073900000 104745837 162113 605
01/04/2018 9 53.99299400000 101849283 139136 604
01/04/2018 10 59.45694100000 141486943 168374 597
01/04/2018 11 33.68107800000 90659370 99652 567