Mercurial > hg > orthanc-book
comparison Sphinx/source/faq/scalability.rst @ 490:933e28b6a64d
Orthanc 1.7.3
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 24 Aug 2020 08:05:10 +0200 |
parents | a10f0e5be459 |
children | f22b3743fd3f |
comparison
equal
deleted
inserted
replaced
489:c33016871f1e | 490:933e28b6a64d |
---|---|
52 -------------------------------------- | 52 -------------------------------------- |
53 | 53 |
54 Here is a generic setup that should provide best performance in the | 54 Here is a generic setup that should provide best performance in the |
55 presence of large databases: | 55 presence of large databases: |
56 | 56 |
57 * Make sure to use the latest release of Orthanc (1.7.2 at the time of | 57 * Make sure to use the latest release of Orthanc (1.7.3 at the time of |
58 writing). | 58 writing). |
59 | 59 |
60 * We suggest to use the latest release of the :ref:`PostgreSQL plugin | 60 * We suggest to use the latest release of the :ref:`PostgreSQL plugin |
61 <postgresql>` to store the database index (3.2 at the time of | 61 <postgresql>` to store the database index (3.2 at the time of |
62 writing). Make sure that ``EnableIndex`` is set to ``true``. | 62 writing). Make sure that ``EnableIndex`` is set to ``true``. |
170 ----------------- | 170 ----------------- |
171 | 171 |
172 Exclusive access to the DB | 172 Exclusive access to the DB |
173 ^^^^^^^^^^^^^^^^^^^^^^^^^^ | 173 ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
174 | 174 |
175 As of Orthanc 1.7.2, the internal code accessing the DB is still affected | 175 As of Orthanc 1.7.3, the internal code accessing the DB is still affected |
176 by limitations induced by the SQLite engine that was the only one originally | 176 by limitations induced by the SQLite engine that was the only one originally |
177 available at the beginning of the project: inside a single Orthanc process, | 177 available at the beginning of the project: inside a single Orthanc process, |
178 there is no concurrent access to the DB. | 178 there is no concurrent access to the DB. |
179 | 179 |
180 One solution to avoid this limitation is to have multiple Orthanc accessing | 180 One solution to avoid this limitation is to have multiple Orthanc accessing |
182 <https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/multiple-orthancs-on-same-db/>`__. | 182 <https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/multiple-orthancs-on-same-db/>`__. |
183 | 183 |
184 Also note that the core of Orthanc does not currently support the replay | 184 Also note that the core of Orthanc does not currently support the replay |
185 of database transactions, which is necessary to deal with conflicts | 185 of database transactions, which is necessary to deal with conflicts |
186 between several instances of Orthanc that would simultaneously write | 186 between several instances of Orthanc that would simultaneously write |
187 to the database. As a consequence, as of Orthanc 1.7.2, when connecting multiple | 187 to the database. As a consequence, as of Orthanc 1.7.3, when connecting multiple |
188 Orthanc to a single database by setting ``Lock`` to ``false``, there | 188 Orthanc to a single database by setting ``Lock`` to ``false``, there |
189 should only be one instance of Orthanc acting as a writer and all the | 189 should only be one instance of Orthanc acting as a writer and all the |
190 other instances of Orthanc acting as readers only. Be careful to set | 190 other instances of Orthanc acting as readers only. Be careful to set |
191 the option ``SaveJobs`` to ``false`` in the configuration file of all | 191 the option ``SaveJobs`` to ``false`` in the configuration file of all |
192 the instances of Orthanc acting as readers. | 192 the instances of Orthanc acting as readers. |
201 | 201 |
202 | 202 |
203 Latency | 203 Latency |
204 ^^^^^^^ | 204 ^^^^^^^ |
205 | 205 |
206 As of Orthanc 1.7.2, Orthanc still performs quite a large number of small | 206 As of Orthanc 1.7.3, Orthanc still performs quite a large number of small |
207 SQL requests. A simple request to a route like ``/studies/{id}`` can trigger | 207 SQL requests. A simple request to a route like ``/studies/{id}`` can trigger |
208 6 SQL queries. | 208 6 SQL queries. |
209 | 209 |
210 This is not an ideal situation and this might be addressed | 210 This is not an ideal situation and this might be addressed |
211 in a future larger DB refactoring (the most time-consuming queries have already | 211 in a future larger DB refactoring (the most time-consuming queries have already |