Hi,
For performance issue you have to check on database latency and enventually object storage latency.
If you are using a cloud provider pay attention to the level of service you choose.
Here are some informations about Azure
- The performance of the database is highly different depending on the database size, the "basic" offer is very low performance, the "general puprpose" is OK but need at least 4 CPU (if only 2 the performance drop), maybe "memory opimized" level could give better performance (yet to be evaluated)
- Better to connect orthanc using local ip adress of the database by putting a terminaison endpoint of the database into the azure vnet
It this scenario we achieved 7ms for a query response on the database.
On the object storage size, the prenium level is faster but 10 time more expensive than the "hot" storage.
Hot storage is OK, we achvied near 6Mo/sec when donwloading the zip stream.
I think when Alain will include the mutithreding of fetching images in the ZIP generation we should increse a this speed as the multithreading will multithread both db access and object storage access and so reduce the latency impact.
However I don't expect a huge gain maybe 20-30% which is already fair.
Take account that DICOM collection is slow in EVERY dicom PACS, this is due to data splitted into multiple instance that put a high pressure in I/O data access.
If you are not in the cloud use a SSD Nvme will give better performance (in particular for the database).
However if you fine tune your database performance and storage access you can achieve a zip streaming of at least 6 Mo/sec with an immediat download start which is incredibly high for a DICOM storage system.
Best regards,
Salim