Performance issues on v13 site with lots of members

I am working on a site that heavily relies on members, their roles and custom properties. And we are doing a lot of work with custom caches, etc. to get around poor performance when pulling out member data.

I was wondering if anyone here has some experience or knowledge to share about how they are doing it?

Here are a few of the things we are working on:

2 separate v13 sites, one with 12k members another with 30k.

We quickly noticed loadtests returning poor load times when the member logs in even with a fairly low load - that led to this PR:
Optimize the member save as part of the member login process, by-passing locking and audit steps and handling only the expected update properties by AndyButland · Pull Request #19308 · umbraco/Umbraco-CMS

That helped a lot with that issue, but we still see poor performance in a lot of places under load where we need to fx pull a members profile picture or similar custom properties and having to do

var member = await _memberManager.GetCurrentMemberAsync();
var publishedMember = _memberManager.AsPublishedMember(member);

To access any of its properties.

Right now we are caching all members for quite a while with cache invalidation running on member save/delete notifications. That works pretty ok but required a lot of custom code to get members to a spot that content is in by default.

Any ways - does anyone have any tips or considerations to share about performance and members? :slightly_smiling_face:

Hi there!

I am currently working on a system with members as well. I created a custom database table to save custom user data into. This made sense in my case, because I was already dealing with a lot of custom content in custom database tables.

When a member logs in, I fetch an additional “internal user id” from my custom user table and add it as an extra claim in the user profile. My application “doesn’t know” that it’s using Umbraco members.

Perhaps not the answer you’re looking for, but that’s my approach.

Thanks for sharing!
That’s probably how I’d build it today as well. I must admit I expected members to be in a better spot, haven’t worked on sites with this amount before so haven’t had the same problems.