I've been away from TM ART details for quite a while now so don't take my advice as "gospel".
The key factor in sizing database load for TM ART is the number of measures per hour that all your transactions generate. So you need to take into account:
- The number of measures in each transaction. You can get an exact number by counting rows on the details page for your transaction.
- The total number of transactions
- The number of Execution Servers where the transactions run, and
- The number of times per hour that they are scheduled.
Those factors all multiply together. Let's say you have 25 measures for each transaction, 75 monitors, 10 ES, running all monitors every 5 minutes (12 times per hour). Multiply out 25*75*10*12 gives 225,000 measures per hour or 62.5 measures per second. That means the database must take no longer than 16 milliseconds to complete one measure. [This is all oversimplified but is good for estimation purposes]
I don't recall the details but somewhere in the TM ART self monitoring there is (or was) a page that shows your database's current performance and an estimate of the measures per hour that your database can sustain with its current performance in storing measures.
South Coast Software Consulting
I admin and develop for a TMART 4.2 sp2 installation that interfaces with BPPM via a Patrol TMART KM.
We reduced our use of measures because of this configuration by not configuring:
By not configuring Transaction Response Time and Page Timers we reduced from 250,000 measures per hour to 49,000 measures per hour, with the same Monitor instance load. We run approximately 418 tasks on our 18 ES.
Our custom timer measurements are still providing response time and step status Patrol configuration handles all of the system detected errors like web page 500 errors et al.
Just a though in case you are not relying on TMART Central for alerting and presentation.
Great suggestion, Todd! I forget the exact number but a single page timer is somewhere around 10 measures.
It's also possible to disable individual page timers by setting the timer name to an empty string. That's useful if you want some of the page timers.