diff --git a/internal/web/actions/default/servers/components/cache/createPopup.go b/internal/web/actions/default/servers/components/cache/createPopup.go index a9df413f..08d497de 100644 --- a/internal/web/actions/default/servers/components/cache/createPopup.go +++ b/internal/web/actions/default/servers/components/cache/createPopup.go @@ -41,6 +41,7 @@ func (this *CreatePopupAction) RunPost(params struct { MaxSizeJSON []byte FetchTimeoutJSON []byte SyncCompressionCache bool + EnableMMAP bool Description string IsOn bool @@ -97,6 +98,7 @@ func (this *CreatePopupAction) RunPost(params struct { OpenFileCache: openFileCacheConfig, EnableSendfile: params.FileEnableSendfile, MinFreeSize: minFreeSize, + EnableMMAP: params.EnableMMAP, } case serverconfigs.CachePolicyStorageMemory: options = &serverconfigs.HTTPMemoryCacheStorage{} diff --git a/internal/web/actions/default/servers/components/cache/update.go b/internal/web/actions/default/servers/components/cache/update.go index 49c51fff..e2f3238e 100644 --- a/internal/web/actions/default/servers/components/cache/update.go +++ b/internal/web/actions/default/servers/components/cache/update.go @@ -40,13 +40,23 @@ func (this *UpdateAction) RunGet(params struct { return } - // fix min free size if cachePolicy.Type == serverconfigs.CachePolicyStorageFile && cachePolicy.Options != nil { - _, ok := cachePolicy.Options["minFreeSize"] - if !ok { - cachePolicy.Options["minFreeSize"] = &shared.SizeCapacity{ - Count: 0, - Unit: shared.SizeCapacityUnitGB, + // fix min free size + { + _, ok := cachePolicy.Options["minFreeSize"] + if !ok { + cachePolicy.Options["minFreeSize"] = &shared.SizeCapacity{ + Count: 0, + Unit: shared.SizeCapacityUnitGB, + } + } + } + + // fix enableMMAP + { + _, ok := cachePolicy.Options["enableMMAP"] + if !ok { + cachePolicy.Options["enableMMAP"] = true } } } @@ -77,6 +87,8 @@ func (this *UpdateAction) RunPost(params struct { SyncCompressionCache bool FetchTimeoutJSON []byte + EnableMMAP bool + Description string IsOn bool @@ -137,6 +149,7 @@ func (this *UpdateAction) RunPost(params struct { OpenFileCache: openFileCacheConfig, EnableSendfile: params.FileEnableSendfile, MinFreeSize: minFreeSize, + EnableMMAP: params.EnableMMAP, } case serverconfigs.CachePolicyStorageMemory: options = &serverconfigs.HTTPMemoryCacheStorage{} diff --git a/web/views/@default/servers/components/cache/createPopup.html b/web/views/@default/servers/components/cache/createPopup.html index 43fa1d96..909d6491 100644 --- a/web/views/@default/servers/components/cache/createPopup.html +++ b/web/views/@default/servers/components/cache/createPopup.html @@ -70,6 +70,13 @@
缓存磁盘保留的最小空余空间,如果为0表示自动限制(目前默认保留5GiB)。
+选中后,表示允许系统自动利用MMAP提升缓存读取性能。
+缓存磁盘保留的最小空余空间,如果为0表示使用默认(目前默认保留5GiB)。
选中后,表示允许系统自动利用MMAP提升缓存读取性能。
+