Db2

 View Only

What is the overhead of monitoring?

By Peter KOHLMANN posted Wed August 29, 2018 04:10 PM

  

I often get asked the question, "What is the overhead of using Data Server Manager to monitor my database?" I have two answers.

The first answer is: "Not much". Data Server Manager (DSM) makes almost exclusive use of in-memory metrics that are part of the IBM Hybrid Database Management Db2 family of products. Since the in-memory metrics are always collected by the database engine there is only a small overhead to the SQL that DSM runs in the background to collect that data. The default monitoring profile is designed to minimize overall database impact while still collecting key data.

The second answer is: "It depends". From working with database performance experts both inside and outside of IBM for many years I learned that almost every answer to a performance question begins with those words. The impact depends on a few things like how many monitoring options you have turned on in your monitoring profile. It depends on whether you are using realtime or also historical data collection. It depends on the monitoring data collection interval you set. It also depends on whether you are using advanced monitoring like individual statement history. It also depends on whether you are running millions of short transactions or just a few long running analytic queries. 

The good news is that you can use DSM itself to measure the exact ipact it is having on your system. With a single statement you can create a Workload definition that will identify each SQL statement that Data Server Manager issues against a monitored database:

     CREATE WORKLOAD DSM_WORKLOAD APPLNAME ('DSMAu*','DSMRt*','DS_ConnMgt*','DSSNAP*','DSMOQT');

The Db2 Warehouse and On Cloud products as well as Db2 Advanced Editions allow you to create custom workload definitions like the one above. Workload definitions do not impact performance in any way, but they do allow you to see monitoring information unique to the applications included in that workload. In this case all the application connections associated with DSM are included in the statement above. 

image

From the DSM Monitoring Overview page you should now be able to see the DSM_WORKLOAD as an option in the Database dropdown. By selecting DSM_WORKLOAD you can see the time spent, CPU used, number of transactions and other metrics just from the perspective of the DSM application connections. (Refresh your browser if for any reason you don't see it as an option.) If you select All workloads the key metrics in the overview page are display relative to each other. For example, you can see exactly what percentage of the available CPU DSM is using and compare that again the rest of the applications using the system.

So you can measure the impact that Data Server Manager has on each database you are monitoring. The answer doesn't have to be "Not much" or "It depends." It can be very accurate and help you to select the right level of monitoring by understanding its impact under your specific circumstances. 


#Db2
0 comments
8 views

Permalink