MM-43733: Set concurrency limits via configuration (#20413)
```release-note We create a new config option MaxImageDecoderConcurrency which indicates how many images can be decoded concurrently at once. The default is -1 which means number of CPUs present. This affects the total memory consumption of the server. The maximum memory of a single image is dictated by MaxImageResolution * 24 bytes. Therefore, a good rule of thumb to follow is that MaxImageResolution * MaxImageDecoderConcurrency * 24 should be less then the allocated memory for image decoding. ``` https://mattermost.atlassian.net/browse/MM-43733
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
4b8cb4e272
Коммит
7c1b8cd937
@@ -525,21 +525,22 @@ func (ts *TelemetryService) trackConfig() {
|
||||
})
|
||||
|
||||
ts.SendTelemetry(TrackConfigFile, map[string]interface{}{
|
||||
"enable_public_links": cfg.FileSettings.EnablePublicLink,
|
||||
"driver_name": *cfg.FileSettings.DriverName,
|
||||
"isdefault_directory": isDefault(*cfg.FileSettings.Directory, model.FileSettingsDefaultDirectory),
|
||||
"isabsolute_directory": filepath.IsAbs(*cfg.FileSettings.Directory),
|
||||
"extract_content": *cfg.FileSettings.ExtractContent,
|
||||
"archive_recursion": *cfg.FileSettings.ArchiveRecursion,
|
||||
"amazon_s3_ssl": *cfg.FileSettings.AmazonS3SSL,
|
||||
"amazon_s3_sse": *cfg.FileSettings.AmazonS3SSE,
|
||||
"amazon_s3_signv2": *cfg.FileSettings.AmazonS3SignV2,
|
||||
"amazon_s3_trace": *cfg.FileSettings.AmazonS3Trace,
|
||||
"max_file_size": *cfg.FileSettings.MaxFileSize,
|
||||
"max_image_resolution": *cfg.FileSettings.MaxImageResolution,
|
||||
"enable_file_attachments": *cfg.FileSettings.EnableFileAttachments,
|
||||
"enable_mobile_upload": *cfg.FileSettings.EnableMobileUpload,
|
||||
"enable_mobile_download": *cfg.FileSettings.EnableMobileDownload,
|
||||
"enable_public_links": cfg.FileSettings.EnablePublicLink,
|
||||
"driver_name": *cfg.FileSettings.DriverName,
|
||||
"isdefault_directory": isDefault(*cfg.FileSettings.Directory, model.FileSettingsDefaultDirectory),
|
||||
"isabsolute_directory": filepath.IsAbs(*cfg.FileSettings.Directory),
|
||||
"extract_content": *cfg.FileSettings.ExtractContent,
|
||||
"archive_recursion": *cfg.FileSettings.ArchiveRecursion,
|
||||
"amazon_s3_ssl": *cfg.FileSettings.AmazonS3SSL,
|
||||
"amazon_s3_sse": *cfg.FileSettings.AmazonS3SSE,
|
||||
"amazon_s3_signv2": *cfg.FileSettings.AmazonS3SignV2,
|
||||
"amazon_s3_trace": *cfg.FileSettings.AmazonS3Trace,
|
||||
"max_file_size": *cfg.FileSettings.MaxFileSize,
|
||||
"max_image_resolution": *cfg.FileSettings.MaxImageResolution,
|
||||
"max_image_decoder_concurrency": *cfg.FileSettings.MaxImageDecoderConcurrency,
|
||||
"enable_file_attachments": *cfg.FileSettings.EnableFileAttachments,
|
||||
"enable_mobile_upload": *cfg.FileSettings.EnableMobileUpload,
|
||||
"enable_mobile_download": *cfg.FileSettings.EnableMobileDownload,
|
||||
})
|
||||
|
||||
ts.SendTelemetry(TrackConfigEmail, map[string]interface{}{
|
||||
|
||||
Ссылка в новой задаче
Block a user