Skip to content
IT Canvass
Architecture · Lesson

Performance architecture

Quick answer

Performance comes from partitioning heavy tasks, tuning the database, using delta aggregation and sizing the JVM correctly for the object volume.

Key takeaways

  • Partition large aggregations and refreshes
  • Use delta aggregation to limit load
  • Tune database indexes and connection pools
  • Size JVM heap for the object volume

IdentityIQ performance is overwhelmingly a story about three things: the database, how heavy tasks are structured, and the JVM. Get those right and the platform scales comfortably to hundreds of thousands of identities; get them wrong and even a modest deployment crawls. The golden rule throughout is measure before you tune, blind changes usually make things worse.

Where the time actually goes

The heaviest operations are almost always:

  • Identity refresh, recomputing cubes, roles and policy across the whole population.
  • Aggregation, especially full aggregation of large targets.
  • Certification generation, which can produce enormous numbers of items.

These are batch jobs, and their cost scales with population size, so they are the first place to look when the system feels slow.

Lever 1: the database

The database is the usual first bottleneck. The key measures:

  • Ensure the vendor-recommended indexes exist, and add indexes for any extended attributes you filter or search on heavily.
  • Right-size the connection pool so task servers are not starved or thrashing.
  • Keep statistics current and watch for slow queries; the ORM will happily generate expensive queries if the schema is not indexed for your access patterns.

Lever 2: partitioning and delta

Heavy tasks should be partitioned so their work is split across threads and task servers instead of running as one long single-threaded job. Combine this with delta aggregation so you read only changed data, and schedule the heaviest jobs off-peak so they do not collide with interactive use.

Lever 3: the JVM

Size the heap for the object volume, too small and you get constant garbage collection and out-of-memory failures; too large and GC pauses grow. Monitor GC behaviour rather than guessing. Separate UI nodes from task nodes so a memory-hungry batch job cannot degrade the interactive experience.

Customisation performance

Poorly written rules are a common, self-inflicted performance problem. A rule that loads a large object graph, or issues a database query, inside a loop over every identity will dominate refresh time. Fetch narrowly, avoid per-identity queries where a bulk approach exists, and profile custom rules under realistic volume.

A tuning method that works

  • Baseline: capture how long key tasks take and where time is spent.
  • Change one lever (index, partitioning, heap) at a time.
  • Re-measure against the baseline.
  • Keep what helps, revert what does not.

Common pitfalls

  • Tuning by folklore instead of measurement.
  • Full aggregation and unpartitioned refresh at scale.
  • Custom rules that query the database per identity.

Want to learn this properly?

Our live, instructor-led SailPoint Training covers this hands-on, with real projects and a certification path.

Check your understanding

  1. What are the heaviest operations?

    • A. The database, indexes, connection pools and query patterns.
    • B. Aggregation, identity refresh and certification generation.
    • C. Delta aggregation, which reads only changed data instead of the full set.
    Show answer

    B. Aggregation, identity refresh and certification generation.

    Aggregation, identity refresh and certification generation.

  2. What limits aggregation load?

    • A. The database, indexes, connection pools and query patterns.
    • B. Aggregation, identity refresh and certification generation.
    • C. Delta aggregation, which reads only changed data instead of the full set.
    Show answer

    C. Delta aggregation, which reads only changed data instead of the full set.

    Delta aggregation, which reads only changed data instead of the full set.

  3. What is usually the first bottleneck?

    • A. Aggregation, identity refresh and certification generation.
    • B. Delta aggregation, which reads only changed data instead of the full set.
    • C. The database, indexes, connection pools and query patterns.
    Show answer

    C. The database, indexes, connection pools and query patterns.

    The database, indexes, connection pools and query patterns.

Frequently asked questions

What is the role of aggregation in Performance architecture?

Combine this with delta aggregation so you read only changed data, and schedule the heaviest jobs off-peak so they do not collide with interactive use.

What else is worth knowing about Performance architecture?

Heavy tasks should be partitioned so their work is split across threads and task servers instead of running as one long single-threaded job.

What tends to go wrong with Performance architecture?

Tuning by folklore instead of measurement. Full aggregation and unpartitioned refresh at scale. Custom rules that query the database per identity.
CallWhatsAppEnquire