Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

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