Don't overlook the FTM database as a source of information about
performance. Queries against the FTM database can be used to gather
information to verify:
Test duration, start and end times
Messaging rates
Latencies
Service response times (external)
Object creation/completion rates
This data can be extracted because all the key object activities
are recorded (object creation, object state change) using timestamps.
An advantage of using the FTM database is that as long as you have
the test start and end times you can go back to a previous test run
and reevaluate the run using a new query or criteria to create a different
analysis report, you need not rerun the test. The following example
SQL queries demonstrate a couple of examples:
Figure 1. Messaging rate
calculation for master transactions over a test period
SELECT COUNT, START, END, DURATION, COUNT/DURATION TPS
FROM
(SELECT MIN(CREATED) START, MAX(STATUS_DATE) END, COUNT(ID) COUNT, TIMESTAMPDIFF(2,CHAR( MAX(STATUS_DATE) - MIN(CREATED) )) DURATION
FROM FTM.TRANSACTION_V
WHERE CREATED >= ? AND CREATED <= ? AND MASTER_FLAG = 'Y')
Figure 2. Latency calculation, sample application liquidity
service
SELECT AVG_RESP_M, AVG_REQ_M, (AVG_RESP_M - AVG_REQ_M) LATENCY FROM
(SELECT AVG((CAST(MIDNIGHT_SECONDS(CREATED) AS BIGINT)*100000) + MICROSECOND(CREATED) ) AVG_RESP_M
FROM FTM.TRANSMISSION_V
WHERE CREATED >= ? AND CREATED <= ? AND SUBTYPE = 'LIQUIDITY_RESPONSE'),
(SELECT AVG((CAST(MIDNIGHT_SECONDS(CREATED) AS BIGINT)*100000) + MICROSECOND(CREATED) ) AVG_REQ_M
FROM FTM.TRANSMISSION_V
WHERE CREATED >= ? AND CREATED <= ? AND SUBTYPE = 'LIQUIDITY_REQUEST')
Note: These examples are illustrative and are not
suggested as fit for purpose for specific use cases.