mirror of
https://github.com/jamenai/opensim-addon-modules-exp.git
synced 2026-07-28 13:47:12 +00:00
119 lines
4.2 KiB
Plaintext
119 lines
4.2 KiB
Plaintext
; 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 |