Hello Henrique. @sunnyajmera is right that the filter runs server-side in the Graph query, not after a full scan.
How many accounts(600k) are actually coming through after the filter? You mentioned you set a user filter but the runtime is still high, so it would help to know if the filter is cutting the count meaningfully.
On page size, you are at 250 and the Microsoft Graph /users endpoint supports up to 999. Bumping it up can help, but I would go gradually since Graph throttling can eat up the benefit at higher values.
userAggregationBatchSize is a separate setting that controls how many records the connector processes in parallel, but that one is documented for the Entra ID SaaS connector. If you are on the VA-based connector, that won’t apply and partitioning is the parallel-processing option instead.
Delta Aggregation won’t make your full aggregation faster. It’s meant for regular scheduled runs after the baseline is built, where only a smaller set of changes get picked up.
Manage Microsoft 365 Groups and Teams Governance both pull extra Graph calls per account for group membership and channel data, so they’re adding real time to your run. If Teams channel governance isn’t something you actually need in ISC, turning it off should help.
If you are on the VA-based Entra ID connector, partitioning is where the real gains come from. Split the user base into filtered chunks (alphabetical on displayName works well) and set Number of Partitioning Threads to your VA core count times 2. Before turning it on though, check if PIM is enabled on this source. SailPoint’s docs call out that partitioning with PIM forces the connector into individual per-user API calls for PIM memberships instead of using its caching mechanism, so it can end up slower, not faster. If you are on the SaaS connector, userAggregationBatchSize is your parallel-processing option.
Either way, combining that with bumping page size gradually and pulling Teams governance out if you don’t need it should bring the runtime down.