1.3 How AppManager ResponseTime for Exchange and Exchange Online Works

The strategy that the AppManager ResponseTime modules deploy for measuring network and server response time and availability is based on synthetic network transactions.

Whenever you run a job using one of the ResponseTime Knowledge Scripts, a software agent performs a transaction involving the real application server you want to test. Transactions performed for response-time testing are “synthetic” only in the sense that no actual user is involved—the transactions are performed purely in order to monitor performance and availability.

The ResponseTime modules all rely on unique technology developed by NetIQ for monitoring system performance at the application layer. So you not only find out how well the system is performing; you also find out how well Exchange Server or Outlook transactions in particular are performing.

1.3.1 AppManager ResponseTime for Exchange and Exchange Online Architecture

The module consists of Response Time for Exchange and Exchange Online components.

ResponseTime for Exchange components

The ResponseTime for Exchange consists of the following components:

  • A managed object component, QCMA.dll, installed in %CommonProgramFiles%\Netiq\ResponseTime. The managed object handles tasks associated with initializing and spawning the ResponseTime engine process.

    NOTE:This component requires the netiqmc agent process to run as Local System, which allows the agent to start the engine processes as different users. See Section 2.6, Permissions for Running Knowledge Scripts for more information.

  • A specific ResponseTime engine process, QMAPIRT.exe, installed in %CommonProgramFiles%\Netiq\ResponseTime and it handles the actual transaction for Exchange Servers.

    The engine processes will run under the user account you specify for the Logon and Run As user parameters in the Knowledge Script. This user account is temporarily added to the local administrators group during the transaction and then removed. (If it exists prior to the transaction, it is not removed.)

Depending on the application transaction to be simulated by the Exchange-RT Knowledge Script job, the ResponseTime engine may need to impersonate a user and/or log on to the application server. This engine requires you to supply account and authentication information when you configure the job. The values you supply for the Logon and Run As parameters in a Knowledge Script are used to impersonate a logged-in user and instantiate the application and also used for authenticating the user on the application server. If required, the ResponseTime engine process will be launched as this user.

ResponseTime for Exchange Online component

The ResponseTime for Exchange Online consists of a managed object, qExchangeOnlineRT.dll, installed in \NetIQ\AppManager\bin and it handles the actual transactions for Exchange Online.

The managed object runs under the user account you specify in the AppManager Security Manager. For information on configuring the user account in the AppManager Security Manager, see Section 2.8, Configuring Security Manager to run ExchangeOnline-RT Discovery.

1.3.2 Response-Time Test Results

The results you get from response-time testing with one of the Exchange-RT or ExchangeOnline-RT Knowledge Scripts are extremely accurate because the network or server is “seeing,” and AppManager is timing, a transaction that looks just like a real transaction from the monitored server or client. Client-server emulation also lets you test your system the way end-users “test” it every day—and see the same results, and the same performance, that end-users are seeing.

When a response-time transaction runs, the agent measures the time taken to complete the transaction. This value is then returned as the Response Time data point. For most ResponseTime Knowledge Scripts, you have the option to collect two types of data points:

  • Availability

    The Availability data point is always created if the transaction is initialized and starts, meaning that the ResponseTime engine process is started. If the transaction completes without error, a data point of 1 or 100 (depending on the data stream format) is created. Otherwise, the data point is 0.

    If the ResponseTime engine process is not started due to initialization errors, no Availability data point is created, and a Transaction Initialization Error Event is raised.

  • Response Time

    The Response Time data point is only created if the transaction completes successfully. The value of the data point is the total time required to run the transaction (in seconds).

    In addition, you have an option to collect additional Response Time Breakdown data streams, individual data points for the different parts of the Knowledge Script transaction that are timed. These are explained in detail in the Help for each Exchange-RT and ExchangeOnline-RT Knowledge Script.