Hi guys,
Saw my name mentioned in IRC regarding caching svn_*_t.
In our custom svn RPC server that exposes svn_repos_t and svn_fs_t, we
cache svn_repos_t, svn_fs_root_t (for both revisions and txns).
I pulled some stats from our live server, here is the svn_repos_t cache:
Max=238
N=238
InUse=0
Lookups=209959446
CacheHits=209958192
CacheMisses=1254
CacheHitRatio=0.999994
Evictions=1016
ConstructionAge(
N=238
min=04:22:19.316771
25%=1d07:05:44.297955
50%=1d22:38:44.728577
90%=6d05:40:09.023494
95%=6d05:47:27.417303
99%=7d05:34:32.500303
max=7d06:48:08.218891)
LastUseAge(
N=238
min=0.000316
25%=38:54.439219
50%=38:54.843007
90%=1d22:08:15.423188
95%=1d22:09:46.925353
99%=1d22:09:46.925165
max=1d22:10:05.678702)
NumberServantsPerId(
N=119
min=1
25%=1
50%=1
90%=2
95%=3
99%=10
max=76)
So our oldest svn_repos_t is 7 days and 6 hours old, which is basically
as old as the process, so we can cache them indefinitely. Actually, I
size the cache to 2*number repos.
Blair