Hello,
I’ve been running an Orthanc-Server (now ver. 1.0) on a Linux-Mint (Ubuntu based) System for about 3 years with aprox. 9200 Studies, all of them Ultrasound pictures or Clips. (PostgreSQL (9.5) index and storage).
The system was running almost fine but frequently crashes, when receiving large instances (long ultrasound-clips about 1/2 to 1,5 minutes length).
For weeks i’ve been trying to perform a Backup via Replicate.py (on a new system with debian testing, Orthanc 1.3 (from repository) and Postgresql 10.1, 4GB ram), but the script always crashes after successfully transmitting some hundreds or thousands studies.
Meanwhile i figured out, that the problem occurs with very large instances in some studies, in almost the same manner as orthanc crashes in regular operation, when a modality sends large instances - so it must be the same problem. My colleague sometimes makes examinations with clips about 1 minute length (more than 1000 Frames) and these instances make the Replicate script crash. (On the new target-server i changed the storage to filesystem storage (postgres for indexing), the former server indexes and stores in postgresql).
However, when using replicate.py Orthanc uses a vast amount of memory in both the target and the source system (look “top” report below), so this could also be a performance/timeout-issue. I also tried with postgresql storage before, but the crashes always corrupted the database. Since storing in filesystem, at least the index database of postgres survives the crashes of the replicate script and the target system now doesn’t report anything special in the logs of orthanc or postgres. Finally after manually deleting large instances on the source-System i managed to complete the replicate script and i am now running the new system.
In regular operation on the new system, when a modality is sending such large instances, the system performance ist collapsing dramatically (the physical memory ist flooded and the system is swapping aggressivly; look at the “top” report with a 3GB example, 2070 frames). At least, the system doesn’t crash anymore. (The modality reports a failure, the instance is stored in orthanc but damaged).
Is there a way to make Orthanc refuse large instances over a defined size?
Could there be a way to store larger instances in Orthanc like longer clips without overloading system resources?
hope, someone can help me, thank you
Best regards
Mark Sajthy