-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConcurrentFlotsamAssetCache.ini.example
More file actions
119 lines (93 loc) · 4.18 KB
/
ConcurrentFlotsamAssetCache.ini.example
File metadata and controls
119 lines (93 loc) · 4.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
; config-include/ConcurrentFlotsamAssetCache.ini
[AssetCache]
; Enable or disable the on-disk cache. If false, nothing is written to disk.
; Default: true
FileCacheEnabled = true
; Root directory for cached asset files (absolute or relative to OpenSim.exe).
; Default: c_assetcache
CacheDirectory = c_assetcache
; Enable or disable the in-memory cache (fastest tier).
; Default: false
MemoryCacheEnabled = false
; Memory cache timeout in hours (float). Internally converted to seconds.
; Small values reduce RAM; larger values may improve hit rate.
; Default: 0.016 (≈ 57.6 seconds)
MemoryCacheTimeout = 0.016
; Enable negative cache to short-circuit repeated misses for a short time.
; Default: true
NegativeCacheEnabled = true
; Negative cache TTL in seconds.
; Default: 120
NegativeCacheTimeout = 120
; Optional maximum size for the negative cache to control memory usage.
; When exceeded, a batch of old/expired entries is pruned.
; Default: 100000
NegativeCacheMaxEntries = 100000
; How many entries to remove when pruning the negative cache.
; Default: 5000
NegativeCachePruneBatch = 5000
; Update file LastAccessTime on cache hits (touch). Helps expiration logic,
; but can add IO. Internally throttled.
; Default: false (effective, because it is masked by FileCacheEnabled)
UpdateFileTimeOnCacheHit = false
; Log verbosity for this module (0=minimal, 1=info, 2=verbose warnings).
; Default: 0
LogLevel = 0
; Show hit-rate statistics every N requests (0 disables).
; Default: 100
HitRateDisplay = 100
; Sampling size used to estimate alive WeakReference entries in hit report.
; Larger values increase accuracy but also CPU work during reporting.
; Default: 2000 (minimum enforced: 100)
HitReportWeakRefSampleTarget = 2000
; Expiration for on-disk files since last access (in hours).
; Files older than now - FileCacheTimeout are eligible for removal.
; Default: 48
FileCacheTimeout = 48
; How often (in hours) the background cleaner runs.
; Default: 1.0
FileCleanupTimer = 1.0
; Directory sharding – number of tier levels (1..3).
; Default: 1
CacheDirectoryTiers = 1
; Directory sharding – characters per tier segment (1..4).
; Default: 3
CacheDirectoryTierLength = 3
; Warn if a single cache directory contains more than this many entries.
; Helps tune sharding/expiration.
; Default: 30000
CacheWarnAt = 30000
; Safer replace behavior: keep a temporary backup when replacing files (Windows/NTFS).
; Backup files (.bak) are placed beside the target file.
; Default: false
FileReplaceKeepBackup = false
; Allow overwrite moves when supported by the platform/runtime (NET6+).
; Default: true
FileMoveAllowOverwrite = true
; Cleanup of stale .bak files (from interrupted replacements).
; If enabled, the background cleaner removes old .bak files.
; Default: true
BakCleanupEnabled = true
; Max age (in hours) for .bak files before they are removed by the cleaner.
; Default: 24 (range enforced: 1 .. 168)
BakCleanupMaxAgeHours = 24
; Deserialization safety limits (protect against oversized/corrupt cache files):
; Maximum UTF-8 string length per field (bytes). Floors/ceilings enforced internally.
; Default: 262144 (256 KB) [floor: 32768, ceiling: 2097152]
DeserializeMaxStringLenBytes = 262144
; Maximum asset data size (MB). Floors/ceilings enforced internally.
; Default: 64 [floor: 8, ceiling: 512]
DeserializeMaxDataLenMB = 64
; Backoff when a file is being written by another thread (thundering herd control):
; Number of retry attempts.
; Default: 3 [0..10]
BackoffAttempts = 3
; Initial backoff delay in milliseconds (exponential growth per attempt).
; Default: 5 [0..500]
BackoffInitialMs = 5
; Maximum backoff delay per attempt in milliseconds (cap).
; Default: 40 [>= BackoffInitialMs, <= 2000]
BackoffMaxMs = 40
; File writer concurrency (number of threads).
; Default: 1 (recommended) Max: 4 (can be dangerous for the disk)
FileWriterConcurrencyWorker = 1