Large instances (tomosynthesis) makes docker reboot, may it be because of the cache?

Hello everyone,

I’m currently using two Orthanc gateways, one on-premise and another one on AWS, both deployed using Docker (orthancteam/orthanc:24.5.0) and Linux. The on-premise gateway resends one instance at a time via Dicom-Web to the cloud. Neverthless, as they are tomosynthesis, each instance has many frames and can reach up to 800 MB per instance. Thus, when two large instances are resend simultanously the cloud docker reboot. On the docker logs there’s not an error message (I have the verbose option enabled, it shows the message
Startup command: exec “Orthanc --verbose /tmp/orthanc.json”
)

I was wondering if this may be because of the cache size, as the default value for the “MaximumStorageCacheSize” is 128 MB (I have 3.8 GB of RAM available on the cloud gateway). I rised this value to 1000 MB but this only made the reboots happend more often.

Should I Disable the cache?
Does anyone know if is it possible to send one frame at a time isntead of the whole instance?

Thanks in advance for any guidance

Hi,

You may disable the cache completely to reduce overall memory usage.
However, if you receive an 800MB, depending on the worklows, Orthanc might need a lot of memory to:

  • receive the 800MB and possibly copy it in a temporary buffer
  • uncompress it if it has been zipped in HTTP
  • transcode it if it needs to be.
    For each uncompression/transcoding, it is common to require 1.5x the amount of memory → you should not be surprised if Orthanc consumes 2 GB of RAM to receive a 800MB file.

Then, if you have multiple HTTP connections receiving so big files at the same time, you will likely exceed your 3.8 GB of RAM.

The only way I see to limit to a single reception is to configure "HttpThreadsCount" to 1

HTH,

Alain

1 Like

I see, I will allocate an instance with more resources then.

Thank you for your answer!