#3074 Move timestamp cache to tmpfs
Opened 3 years ago by sgallagh. Modified 2 months ago

Today on IRC, Jakub, Simo and I discussed the new timeout cache in 1.14 and how it could be made even faster. Currently, it's located in the /var/lib/sss/db directory next to the standard cache, but set NOSYNC for performance.

What we determined after long discussion was that it would be even better for the cache to be moved to tmpfs (such as /run/sssd on systemd-based platforms). This will provide a much larger performance advantage even than the NOSYNC behavior.

A new flag should be provided to the configure script, --with-tmpfs-db-path. This will be used to tell SSSD where to create and read the timeout cache.

The default for this flag is up for some discussion: We could either default to /run/sssd which should work on any systemd-enabled platform or we could be conservative and default to the value of --with-db-path.

Fields changed

summary: Move timeout cache to tmpfs => Move timestamp cache to tmpfs

I think measuring the difference between NOSYNC ldb and the tmpfs should be the first step.

I will take a look at this one together with ticket #3097.

milestone: NEEDS_TRIAGE => SSSD 1.14.2
owner: somebody => jhrozek

Fields changed

rhbz: => 0

Moving tickets that didn't make it into the 1.14.2 release into the next point release.

milestone: SSSD 1.14.2 => SSSD 1.14.3

Please see https://fedorahosted.org/sssd/ticket/3097#comment:4

In my opinon the analysis shows that there is not much improvement of the timestamp cache in tmpfs over the async cache and the optimization effort should be focused elsewhere.

Therefore I propose to move this ticket into patches welcome milestone in case someone's environment would show different test results.

Fields changed

milestone: SSSD 1.14.3 => SSSD Patches welcome

Metadata Update from @sgallagh:
- Issue assigned to jhrozek
- Issue set to the milestone: SSSD Patches welcome

2 years ago

Metadata Update from @jhrozek:
- Assignee reset

2 months ago

Login to comment on this ticket.