Mercurial > hg > orthanc-book
annotate Sphinx/source/faq/scalability.rst @ 253:a64197133114
Orthanc 1.5.7
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 26 Jun 2019 08:11:01 +0200 |
parents | a363714813b2 |
children | 6cbcdb965ad3 |
rev | line source |
---|---|
186 | 1 .. _scalability: |
2 | |
3 Scalability of Orthanc | |
4 ====================== | |
5 | |
6 One of the most common question about Orthanc is: *"How many DICOM | |
7 instances can be stored by Orthanc?"* | |
8 | |
188 | 9 The source code of Orthanc imposes no such hard limit by itself. At |
10 the time of writing, we know that Orthanc is being used in production | |
11 in hospitals with more than 15TB of data, 125,000 studies and around | |
12 50 millions of instances (please `get in touch with us | |
13 <https://www.orthanc-server.com/static.php?page=contact>`__ if you can | |
14 share other testimonials). | |
15 | |
16 The stress is actually put on the underlying database engine, and on | |
17 the storage area (check out :ref:`orthanc-storage`). As explained in | |
18 the :ref:`troubleshooting section <troubleshooting>`, the built-in | |
19 SQLite database engine should be replaced by an enterprise-ready | |
20 database engine once Orthanc must store several hundreds of thousands | |
21 of DICOM instances (check out the :ref:`postgresql` and | |
22 :ref:`mysql`). It is also true that the performance of Orthanc in the | |
23 presence of large databases has continuously improved over time, | |
24 especially when it comes to the speed of :ref:`DICOM C-FIND | |
25 <dicom-find>`. | |
186 | 26 |
27 Here is a generic setup that should provide best performance in the | |
28 presence of large databases: | |
29 | |
253 | 30 * Make sure to use the latest release of Orthanc (1.5.7 at the time of |
186 | 31 writing). |
32 | |
33 * We suggest to use the latest release of the :ref:`PostgreSQL plugin | |
219 | 34 <postgresql>` to store the database index (3.2 at the time of |
186 | 35 writing). Make sure that ``EnableIndex`` is set to ``true``. |
36 | |
187 | 37 * Make sure that :ref:`run-time debug assertions <troubleshooting>` |
38 are turned off. A warning will show in the logs if this is not the | |
188 | 39 case. Note that all pre-built binaries provided by Osimis are |
40 correctly configured in that respect. | |
187 | 41 |
186 | 42 * We suggest to use the default filesystem storage area. Of course, |
190
5444374c4202
faq: Fix typo: "backup" -> "backed up"
Thibault Nélis <tn@osimis.io>
parents:
189
diff
changeset
|
43 make sure that the filesystem is properly backed up, and that |
186 | 44 technologies such as RAID are enabled. Make sure that the option |
45 ``EnableStorage`` of the PostgreSQL plugins is set to ``false``. | |
46 | |
47 * Obviously, the PostgreSQL database should be stored on a high-speed | |
48 drive (SSD). This is less important for the storage area. | |
49 | |
50 * The :ref:`Orthanc configuration file <configuration>` should have | |
51 the following values for performance-related options (but make sure | |
189 | 52 to understand their implications): |
186 | 53 |
54 * ``StorageCompression = false`` | |
55 * ``LimitFindResults = 100`` | |
56 * ``LimitFindInstances = 100`` | |
57 * ``KeepAlive = true`` | |
58 * ``TcpNoDelay = true`` | |
59 * ``SaveJobs = false`` | |
60 * ``StorageAccessOnFind = Never`` | |
61 | |
62 * Make sure to carefully :ref:`read the logs <log>` in ``--verbose`` | |
63 mode, especially at the startup of Orthanc. The logs may contain | |
64 very important information regarding performance. | |
65 | |
187 | 66 * Make sure to read guides about the `tuning of PostgreSQL |
186 | 67 <https://wiki.postgresql.org/wiki/Performance_Optimization>`__. |
238 | 68 |
69 * You might also be interested in checking the options related to | |
70 :ref:`security <security>`. |