Sakai Admin Guide - Cache Optimizations

Sakai's default cache sizes and expiration settings are conservative and most likely need to be adjusted at large institutions.

On a running production instance, you can find maxed out caches by logging in as an admin user, going to Administration Workspace -> Memory - Status and looking for maxed-out caches.  A maxed-out cache will have a count value of 10000 or 100000.

All caches should be adjustable in Sakai 10.0+ with a simple modification to sakai.properties.

Adjust the caching of users especially if you use the JLDAP provider. This example will cache up to 50k users for up to half a day each:

memory.org.sakaiproject.user.api.UserDirectoryService.callCache=timeToLiveSeconds=43400,timeToIdleSeconds=0,maxElementsInMemory=50000

Adjust the realm/role group cache to retain items in the cache for two hours:

memory.org.sakaiproject.authz.impl.DbAuthzGroupService.realmRoleGroupCache=timeToLiveSeconds=7200,maxElementsInMemory=0

The user/site cache keeps track of the sites associated with the user:

memory.org.sakaiproject.site.api.SiteService.userSiteCache=timeToLiveSeconds=86400,timeToIdleSeconds=0

The security service cache retains information about permission requests (e.g., can user xxxx do asn.submit in /site/abc):

memory.org.sakaiproject.authz.api.SecurityService.cache=timeToLiveSeconds=86400,timeToIdleSeconds=0