Mercurial > hg > orthanc
changeset 7085:7dfb6d1ff9b1 streaming
reviewing documentation of new options
| author | Sebastien Jodogne <s.jodogne@gmail.com> |
|---|---|
| date | Thu, 13 Aug 2026 07:59:45 +0000 |
| parents | bfd282b98d3a |
| children | dbe83600164c |
| files | OrthancServer/Resources/AdvancedConfiguration.json OrthancServer/Resources/Configuration.json OrthancServer/Sources/ServerContext.cpp |
| diffstat | 3 files changed, 51 insertions(+), 53 deletions(-) [+] |
line wrap: on
line diff
--- a/OrthancServer/Resources/AdvancedConfiguration.json Wed Aug 12 18:20:29 2026 +0200 +++ b/OrthancServer/Resources/AdvancedConfiguration.json Thu Aug 13 07:59:45 2026 +0000 @@ -344,41 +344,39 @@ // (new in Orthanc 1.12.6) "MaximumConcurrentDcmtkTranscoders" : 0, - // Number of threads that are used to parse DICOM files (when you need - // to access the value of DICOM tags that are not store in DB). - // (new in Orthanc 1.13.0) + // Number of threads that are used to parse DICOM files (when you + // need to access the value of DICOM tags that are not store in DB). // You should monitor the "orthanc_dicom_parser_available_threads" - // metrics to determine the optimal value for your setup and usage. + // metrics to determine the optimal value for your setup. (new in + // Orthanc 1.13.0) "DicomParserThreads" : 2, - // Amount of RAM (in MB) that are allocated to the DICOM parser threads. - // Note that this limit can be overpassed when a single file - // exceeds this size. - // (new in Orthanc 1.13.0). - // You should monitor the "orthanc_dicom_parser_memory_usage_mb" and - // "orthanc_dicom_parser_memory_max_usage_mb" metrics to determine the - // optimal value for your setup and usage. + // Peak amount of RAM (in MB) that can be allocated by the threads + // parsing the DICOM files. Note that this limit can be overpassed + // when a single file exceeds this size. You should monitor the + // "orthanc_dicom_parser_memory_usage_mb" and + // "orthanc_dicom_parser_memory_max_usage_mb" metrics to determine + // the optimal value for your setup. (new in Orthanc 1.13.0) "DicomParserMemoryCapacity" : 256, - // Maximum size of the DICOM parser cache in MB. This cache - // is stored in RAM and contains a parsed version of recently read - // DIOCM files. A value of "0" indicates the cache - // is disabled. (new in Orthanc 1.13.0) + // Maximum size of the DICOM parser cache in MB. This cache is + // stored in RAM and contains a parsed version of recently read + // DIOCM files. A value of "0" indicates the cache is disabled. + // (new in Orthanc 1.13.0) "DicomParserCacheSize" : 128, // Number of threads that are used to parse transcode DICOM files. // (new in Orthanc 1.13.0) // You should monitor the "orthanc_transcoder_available_threads" - // metrics to determine the optimal value for your setup and usage. + // metrics to determine the optimal value for your setup. "TranscoderThreads" : 4, - // Amount of RAM (in MB) that are allocated to the transcoder threads. - // Note that this limit can be overpassed when a single file - // exceeds this size. - // (new in Orthanc 1.13.0). - // You should monitor the "orthanc_transcoder_memory_usage_mb" and + // Peak amount of RAM (in MB) that can be allocated by the threads + // transcoding DICOM instances. Note that this limit can be + // overpassed when a single instance exceeds this size. You should + // monitor the "orthanc_transcoder_memory_usage_mb" and // "orthanc_transcoder_memory_max_usage_mb" metrics to determine the - // optimal value for your setup and usage. + // optimal value for your setup. (new in Orthanc 1.13.0) "TranscoderMemoryCapacity" : 256, // Maximum size of the transcoder cache in MB. This cache @@ -415,6 +413,6 @@ // "SequentialDicomReaderWindowCapacity" limit is reached. // Note that this limit can be overpassed when a single file // exceeds this size. - // (new in Orthanc 1.13.0). + // (new in Orthanc 1.13.0) "SequentialDicomReaderWindowCapacity" : 64 }
--- a/OrthancServer/Resources/Configuration.json Wed Aug 12 18:20:29 2026 +0200 +++ b/OrthancServer/Resources/Configuration.json Thu Aug 13 07:59:45 2026 +0000 @@ -46,20 +46,12 @@ // (new in Orthanc 1.11.2) "MaximumStorageMode" : "Recycle", - // Maximum size of the storage cache in MB. The storage cache + // Maximum size of the storage cache in MB. The storage cache // is stored in RAM and contains a copy of recently accessed // files (written or read). A value of "0" indicates the cache // is disabled. (new in Orthanc 1.10.0) "MaximumStorageCacheSize" : 128, - // Amount of RAM (in MB) that is allocated to the threads loading - // from the storage area. Note that this limit can be overpassed - // when a single file exceeds this size. You should monitor the - // "orthanc_storage_memory_usage_mb" and - // "orthanc_storage_memory_max_usage_mb" metrics to determine the - // optimal value for your setup. (new in Orthanc 1.13.0) - "StorageMemoryCapacity" : 512, - // Number of threads that are used to read files from the storage. // A value > 4 is meaningful only if the storage is a distributed // network storage (e.g., object storage plugin). In this case, you @@ -68,6 +60,14 @@ // optimal value for your setup. (new in Orthanc 1.13.0) "StorageLoaderThreads" : 4, + // Peak amount of RAM (in MB) that can be allocated by the threads + // loading from the storage area. Note that this limit can be + // overpassed when a single file exceeds this size. You should + // monitor the "orthanc_storage_memory_usage_mb" and + // "orthanc_storage_memory_max_usage_mb" metrics to determine the + // optimal value for your setup. (new in Orthanc 1.13.0) + "StorageMemoryCapacity" : 512, + // List of paths to the custom Lua scripts that are to be loaded // into this instance of Orthanc "LuaScripts" : [
--- a/OrthancServer/Sources/ServerContext.cpp Wed Aug 12 18:20:29 2026 +0200 +++ b/OrthancServer/Sources/ServerContext.cpp Thu Aug 13 07:59:45 2026 +0000 @@ -506,12 +506,12 @@ if (!lock.GetConfiguration().LookupUnsignedIntegerParameter(mb, parameter)) { mb = lock.GetConfiguration().GetUnsignedIntegerParameter(parameter); - LOG(WARNING) << "Performance option '" << parameter << "' is not defined in your configuration, setting it to " + LOG(WARNING) << "Performance option \"" << parameter << "\" is not defined in your configuration, setting it to " << mb << "MB. Depending on the available memory on the system, you may want to adapt this value."; } else { - LOG(WARNING) << "Performance option '" << parameter << "' is set to " << mb << "MB"; + LOG(WARNING) << "Performance option \"" << parameter << "\" is set to " << mb << "MB"; } result = static_cast<uint64_t>(mb) * MEGABYTE; @@ -721,29 +721,29 @@ if (storageLoaderThreads < 4) { storageLoaderThreads = 4; - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_STORAGE_LOADER_THREADS - << "' is not defined in your configuration, setting it to " << storageLoaderThreads; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_STORAGE_LOADER_THREADS + << "\" is not defined in your configuration, setting it to " << storageLoaderThreads; } else { static const unsigned int CAP = 50; storageLoaderThreads = std::min(CAP, storageLoaderThreads); - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_STORAGE_LOADER_THREADS - << "' is not defined in your configuration, setting it to " << storageLoaderThreads - << ", based on the '" << ORTHANC_CONFIG_CONCURRENT_JOBS << "' and the '" - << ORTHANC_CONFIG_LOADER_THREADS << "' options capped at " << CAP; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_STORAGE_LOADER_THREADS + << "\" is not defined in your configuration, setting it to " << storageLoaderThreads + << ", based on the \"" << ORTHANC_CONFIG_CONCURRENT_JOBS << "\" and the \"" + << ORTHANC_CONFIG_LOADER_THREADS << "\" options capped at " << CAP; } } else { - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_STORAGE_LOADER_THREADS << "' is set to " << storageLoaderThreads; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_STORAGE_LOADER_THREADS << "\" is set to " << storageLoaderThreads; } transcoderThreads = lock.GetConfiguration().GetUnsignedIntegerParameter(ORTHANC_CONFIG_TRANSCODER_THREADS); - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_TRANSCODER_THREADS << "' is set to " << transcoderThreads; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_TRANSCODER_THREADS << "\" is set to " << transcoderThreads; dicomParserThreads = lock.GetConfiguration().GetUnsignedIntegerParameter(ORTHANC_CONFIG_DICOM_PARSER_SOURCE_THREADS); - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_DICOM_PARSER_SOURCE_THREADS << "' is set to " << dicomParserThreads; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_DICOM_PARSER_SOURCE_THREADS << "\" is set to " << dicomParserThreads; GetMemorySizeConfiguration(storageMemoryCapacity, lock, ORTHANC_CONFIG_STORAGE_MEMORY_CAPACITY); GetMemorySizeConfiguration(dicomParserMemoryCapacity, lock, ORTHANC_CONFIG_DICOM_PARSER_MEMORY_CAPACITY); @@ -754,28 +754,28 @@ if (!lock.GetConfiguration().LookupUnsignedIntegerParameter(sequentialReaderThreads, ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_THREADS)) { - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_THREADS - << "' is not defined in your configuration, setting it to the same value as '" - << ORTHANC_CONFIG_STORAGE_LOADER_THREADS << "': " << storageLoaderThreads; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_THREADS + << "\" is not defined in your configuration, setting it to the same value as \"" + << ORTHANC_CONFIG_STORAGE_LOADER_THREADS << "\": " << storageLoaderThreads; sequentialReaderThreads = storageLoaderThreads; } else { - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_THREADS - << "' is set to " << sequentialReaderThreads; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_THREADS + << "\" is set to " << sequentialReaderThreads; } if (!lock.GetConfiguration().LookupUnsignedIntegerParameter(sequentialReaderWindowSize, ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_WINDOW_SIZE)) { - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_WINDOW_SIZE - << "' is not defined in your configuration, setting it to the same value as '" - << ORTHANC_CONFIG_LOADER_THREADS << "': " << loaderThreads; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_WINDOW_SIZE + << "\" is not defined in your configuration, setting it to the same value as \"" + << ORTHANC_CONFIG_LOADER_THREADS << "\": " << loaderThreads; sequentialReaderWindowSize = loaderThreads; } else { - LOG(WARNING) << "Performance option '" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_WINDOW_SIZE - << "' is set to " << sequentialReaderWindowSize; + LOG(WARNING) << "Performance option \"" << ORTHANC_CONFIG_SEQUENTIAL_DICOM_READER_WINDOW_SIZE + << "\" is set to " << sequentialReaderWindowSize; } }
