Task OptimizationsRelationship Tabs and PerformanceBecause of the number of security evaluations <strong>Identity</strong> <strong>Manager</strong> performs,rendering a relationship tab can significantly impact performance. The factorsthat determine performance vary depending on the type of tab.For role relationship tabs, the following factors can impact performance:■■■■■■Number of roles where the task's subject is a memberNumber of roles where the task's subject is an administratorNumber of total objects in the system that <strong>Identity</strong> <strong>Manager</strong> requires tocalculate the subject's rolesNumber of member/admin policies per roleComplexity of the member/admin policy scope rulesThe ability to maintain cached authorizations for the task invokers to limitthe effect of the security enforcementsTo determine group membership and administrative privileges on grouprelationship tabs, <strong>Identity</strong> <strong>Manager</strong> must search all of the groups in the userstore. Performance of these searches depends on the following factors:■■■Number of group objects in the user storeNumber of members in any groupPerformance of the database or directory where the user store exists80 <strong>Implementation</strong> <strong>Guide</strong>
Task OptimizationsTask Processing and PerformanceAdmin tasks include events, actions that <strong>CA</strong> <strong>Identity</strong> <strong>Manager</strong> performs tocomplete the task. A task may include multiple events. For example, the CreateUser task may include events that create the user's profile, add the user to agroup, and assign roles.When <strong>CA</strong> <strong>Identity</strong> <strong>Manager</strong> processes a task, it processes each event associatedwith the task. During event processing, <strong>CA</strong> <strong>Identity</strong> <strong>Manager</strong> saves each eventfour times. This allows <strong>CA</strong> <strong>Identity</strong> <strong>Manager</strong> to preserve in-process actions in theevent of an unexpected system shutdown.When <strong>CA</strong> <strong>Identity</strong> <strong>Manager</strong> processes multiple events at the same time, theevents are added to a queue. When the first event completes the first stage of itslifecycle, it is saved, and then moved to the back of the queue to wait for thesecond stage processing to begin. <strong>CA</strong> <strong>Identity</strong> <strong>Manager</strong> then completes the firstprocessing stage for the next event in the queue, and that event moves to theend of the queue. The process continues until all of the events in the queue havecompleted the first processing stage. Then, the first event in the queue beginsthe second processing phase. This continues until all of the events in the queuecomplete all four processing stages.Under normal load conditions, this behavior does not impact performance.However, if the system is processing a large number of tasks and events, such asduring a bulk load of a large user population, each event and task must waitlonger in the queue and, therefore, has a longer completion time.To prevent performance issues under load conditions, consider the followingactions:■Use the Task Priority setting on a task's Profile tab.The Task Priority setting allows you to set the priority of a task to High,Medium, or Low.Tasks that need to be processed immediately should be set to High. Tasksinvolved in a bulk load should be set to Low.If a task priority is set, the events associated with the task are processedwith other tasks that have the same priority. For example, if the Modify Usertask is set to High priority, and an administrator modifies a user profile, <strong>CA</strong><strong>Identity</strong> <strong>Manager</strong> processes that task before tasks with Medium or Lowpriority. If there are other High priority tasks, <strong>CA</strong> <strong>Identity</strong> <strong>Manager</strong>completes the first processing stage for the first High priority event and thenmoves that event to the end of the list of other High priority events.■Install a separate, dedicated <strong>Identity</strong> <strong>Manager</strong> Server to handle bulk loadoperationsChapter 6: Optimizing <strong>Identity</strong> <strong>Manager</strong> 81