Because every application and environment is different, it is impossible to predict how the agent will impact a given application.
However if you understand how the agent and broker process data, then it is easier to adjust for the additional load.
Note: Below assumes a default agent without any extension installed.
Agent
Capture and Playback
- Evaluates each transaction/object to determines if a transaction/object needs to be captured or sent to the VSE. For required transactions/objects:
- Makes a copy. At this point there are two copies of the transaction/object; original and the agent's copy.
- Serializes the transaction/object and sends to the broker. This creates a third copy of the transaction/object.
- Marks all additional copies for garbage collection.
Capture Only
- Allows the original transaction/object to proceed as normal.
Playback Only
- Waits for reply from VSE.
- Marks original transaction/object for garbage collection.
- Sends response from VSE as if it were the response from the live service.
Broker
Capture
- Deserializes transaction/object from queue
- Stitches transactions/objects together if needed.
- Writes transaction/object to database.
Playback
- Forwards request to the VSE.
- Forwards reply to the correct agent.
Additional Duties
- Pulls all information about transactions from the database used by the Portal, Workstation, etc...
- Monitors each agent for activity and heartbeats.
- Launches database cleaner at specified intervals.
As the payload and transactions per second increase, additional resources will be needed. In general:
- Increase the JVM's max memory by 30% or more.
- Additional CPU cycles will be required by the additional overhead.
- A high performance garbage collector may be needed.
- Use the ATK for additional tuning parameters. Please contact CA Support for assistance.
Overloaded Systems will have one or more of the following:
- Application noticeably slows.
- Application hangs
- The agent and/or broker drops connections
- When recording, there are missing transactions.
- GC or CPU Thrashing messages in the logs