Task Persistence Database Disk Space Sizing

Document ID : KB000032151
Last Modified Date : 14/02/2018
Show Technical Document Details

Summary:

The amount of space used by the Task Persistence (TP)  tables can vary dramatically from one Identity Manager implementation to another. The following information can be used as a general guide to TP space usage.

Task Persistence Usage and Examples:

The amount of Task Persistence database space usage depends entirely on the number of tasks, and their events, that are processed. Disk space requirements can vary greatly from one IDM implementation to another due to different levels of task activity and complexity of task configurations. A simple password reset task that includes only a password reset event can add 3166 bytes or more to the TP tables each time a user password is reset. A slightly more complex task with two events like a Modify User task that assigns a provisioning role can add an average of 4466 bytes or greater to the TP tables each time that task is submitted. Below are two task data usage examples.


The average data size of a Modify User (ModifyUser event and AssignProvisioningRole event) is:
 
Tasksession12_5 row: Max 2168 bytes, Avg 376 bytes  ( Modify User task info)
Object12_5 row: Max 4054 bytes  Avg: 1088 bytes     ( contains subject of task)
Event12_5  row:  Max 2854 bytes, Avg: 614 bytes     ( ModifyUser event)
Object12_5 row:  Max 4054 bytes  Avg: 1088 bytes    ( User object for modify user event – object split over 2 rows)
Event12_5  row2:  Max 2854 bytes, Avg: 614 bytes    ( AssignProvisioningRole event)
Object12_5 row:  Max 4054 bytes  Avg: 686 bytes     ( Role object for assign provisioning role event –object split over 2 rows)
 
Totals:          Max:  20038 bytes  Avg: 4466 bytes

 

The average data size of a Change Password is  (Reset password  event) is:
 
Tasksession12_5 row: Max 2168 bytes, Avg 376 bytes  ( Reset Password task info)
Object12_5 row: Max 4054 bytes  Avg: 1088 bytes     ( contains subject of task)
Event12_5  row:  Max 2854 bytes, Avg: 614 bytes     ( ResetPassword event)
Object12_5 row:  Max 4054 bytes  Avg: 1088 bytes    ( User object for password event – object split over 2 rows)
 
Totals:          Max:  13130 bytes  Avg: 3166 bytes


If your environment consists primarily of, say, a Create or Modify user task that assigns a provisioning role, and a password reset task and you onboard 100 users and have 50 password resets per day your DB space might accumulate only 600-20000 kb per day.

For example,

Create or Modify User Task (4466 bytes) x 100 users created or modified per day = 446600 bytes per day (avg.)
Reset Password Task (3166 bytes x 50 users reset passwords per day = 158300 bytes per day (avg.)

Total per day = 604900 bytes per day (avg.)

By contrast, an environment that experiences thousands of user resets as well as many multi-event task submissions per day it can easily accumulate 20 MB or even hundreds of MBs per day.

Using the Data:

All the above figures should be considered rough estimates. Because data usage can vary greatly from one implementation to another, the best way to plan for TP disk usage is to monitor database growth in real time during the QA and performance testing phases to determine benchmarks that apply to your specific use cases, and to continue monitoring in the production environment.