If excessive lock contention causes the lock server to become a bottleneck, you can distribute the load by instantiating multiple server lock managers to handle competing lock requests. For example, the following diagram shows a site with the following setup:
Repositories A, B, Y, and Z, where A and B each have two instances on different ATG instances
Four client lock managers, where the client lock managers for repositories A and B reference server lock manager SLM_AB, and client lock managers for repositories Y and Z reference server lock manager SLM_YZ.
Two server lock managers that handle different sets of lock requests: SLM_AB and SLM_YZ
In a distributed application where the same repository—for example, the ProfileAdapterRepository–runs on multiple ATG instances, all repository instances must use the same ServerLockManager component. In the previous diagram, two instances of repository A run on separate ATG instances. Thus, their client lock managers must be set up to use the same server lock manager.