kjthorpe18 commented on PR #410: URL: https://github.com/apache/directory-scimple/pull/410#issuecomment-1804273632
Since I think it was my email that opened up this conversation, let me describe what I was facing. For each of these requests, SCIMple uses the `IGroupService.get(id)` method to fetch the group and apply updates to the group's attributes and members, essentially a `GET /Groups/<id>` request for each membership change. This is then passed to the `IGroupService.update(updateRequest)` method. Azure sends group membership updates via the Group PATCH endpoint one-by-one for each user in a group. So, for each user added to a group, we're seeing a query to fetch every member of the group, resulting in latency, DB CPU utilization spiking, etc. For large groups (we did a test with 90k users each for multiple groups assigned to a SCIM application), this means 90k queries for members of a group, each increasing in time as the group grows... not great. Ideally, Azure would batch group updates together so this did not have to be done _for each user in a group_, but I don't expect them to change that quickly. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
