One of the most common question about Orthanc is: “How many DICOM instances can be stored by Orthanc?”
The source code of Orthanc imposes no such hard limit by itself. At the time of writing, we know that Orthanc is being used in production in hospitals with more than 15TB of data, 125,000 studies and around 50 millions of instances (please get in touch with us if you can share other testimonials).
The stress is actually put on the underlying database engine, and on the storage area (check out How does Orthanc store its database?). As explained in the troubleshooting section, the built-in SQLite database engine should be replaced by an enterprise-ready database engine once Orthanc must store several hundreds of thousands of DICOM instances (check out the PostgreSQL plugins and MySQL/MariaDB plugins). It is also true that the performance of Orthanc in the presence of large databases has continuously improved over time, especially when it comes to the speed of DICOM C-FIND.
Here is a generic setup that should provide best performance in the presence of large databases:
EnableIndex
is set to true
.EnableStorage
of the PostgreSQL plugins is set to false
.StorageCompression = false
LimitFindResults = 100
LimitFindInstances = 100
KeepAlive = true
TcpNoDelay = true
SaveJobs = false
StorageAccessOnFind = Never
--verbose
mode, especially at the startup of Orthanc. The logs may contain
very important information regarding performance.