MPX Cache Agent Overview
MPX Cache Agents can cache file contents, thereby improving the performance of check-out commands. MPX Cache Agents also support object caching, which allows StarTeam clients to fetch properties for change requests, tasks, and other objects from a specially-configured MPX Cache Agent. As with file content caching, using a network-near MPX Cache Agent can improve the speed of the information fetch when compared to fetching the same information from a StarTeam Server over a slower network connection. Object caching can yield substantial performance improvements in many cases.
With a tier of MPX Cache Agents, there is less overall network traffic because files or objects are usually broadcast only once. They can add themselves dynamically to the “cloud”.
The Root MPX Cache Agent provides several important services:
- It supports the same fetch requests that all MPX Cache Agents provide. Because of this, it provides an alternate “pathway” to the StarTeam Server configuration’s vault and relieves the server of file fetch requests. In this capacity, the Root MPX Cache Agent can serve clients directly, although it shares vault I/O access, and – if it is running on the same computer – network access with the StarTeam Server process.
- The Root MPX Cache Agent also acts as an “upstream” MPX Cache Agent, providing “downstream” Remote MPX Cache Agents with a place to forward cache misses. This increases the “hit rate” of Remote MPX Cache Agents and improves their effectiveness.
- The Root MPX Cache Agent provides a “catch up” API, allowing Remote MPX Cache Agents to proactively fetch files that they missed while they were not running. Because the Journal is time-sequenced, a Remote MPX Cache Agent can request all content newer than the last known cache time stamp and “trickle charge” with that content before clients request it. This feature reduces cache misses and allows Remote MPX Cache Agents to be effective even over unreliable network connections.
Although a Root MPX Cache Agent can be assigned to only one server configuration, a Remote MPX Cache Agent can be assigned to several.
A Remote MPX Cache Agent can be configured to:
- Refine its subscription to a server configuration such that it receives files and objects that are created or modified only in specified projects.
- Forward request misses to either a Root MPX Cache Agent or another “upstream” MPX Cache Agent.
- Use a different upstream MPX Cache Agent for the file and object contents of each server configuration it is tracking.
- Automatically find the Root MPX Cache Agent through MPX poll messages. This allows a Remote MPX Cache Agent to be installed with a minimal configuration: all it needs is connection parameters to a Message Broker, the GUIDs of the server configurations it will track, and the names of the projects it wants to track within each server configuration. When first started, a Remote MPX Cache Agent automatically finds the Root MPX Cache Agent for each server configuration it is tracking and will trickle charge itself with the latest content that it is interested in. Even while it is trickle charging, a Remote MPX Cache Agent can be used immediately, since cache misses will be forwarded on demand.