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: