comparison Sphinx/source/faq/scalability.rst @ 438:5d6d593bceb6

scalability section
author Alain Mazy <alain@mazy.be>
date Tue, 26 May 2020 08:21:29 +0200
parents c95817c254fe
children 86bf70a1f570
comparison
equal deleted inserted replaced
436:0942c745d2b5 438:5d6d593bceb6
160 options available as environment variables that could also reduce 160 options available as environment variables that could also reduce
161 memory consumption (for instance, ``MALLOC_MMAP_THRESHOLD_`` would 161 memory consumption (for instance, ``MALLOC_MMAP_THRESHOLD_`` would
162 bypass arenas for large memory blocks such as DICOM files). Check out 162 bypass arenas for large memory blocks such as DICOM files). Check out
163 the `manpage <http://man7.org/linux/man-pages/man3/mallopt.3.html>`__ 163 the `manpage <http://man7.org/linux/man-pages/man3/mallopt.3.html>`__
164 of ``mallopt()`` for more information. 164 of ``mallopt()`` for more information.
165
166
167 .. _scalability-limitations:
168
169 Known limitations
170 -----------------
171
172 Exclusive access to the DB
173 ^^^^^^^^^^^^^^^^^^^^^^^^^^
174
175 As of Orthanc 1.7.0, the internal code accessing the DB is still affected
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,
178 there are no concurrent access to the DB.
179
180 One solution to avoid this limitation is to have multiple Orthanc accessing
181 the same DB (works only for MySQL and PostgreSQL) as presented in this `sample
182 <https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/multiple-orthancs-on-same-db/>`__.
183
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
186 between several instances of Orthanc that would simultaneously write
187 to the database. As a consequence, as of Orthanc 1.7.0, when connecting multiple
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
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
192 the instances of Orthanc acting as readers.
193
194 A refactoring is needed to improve the core of Orthanc in that
195 respect, for which we are looking for funding from the
196 industry. Some issues reported in our bug tracker call for this
197 refactoring: `issue 83
198 <https://bitbucket.org/sjodogne/orthanc/issues/83/>`__, `issue 121
199 <https://bitbucket.org/sjodogne/orthanc/issues/121/>`__, `issue 151
200 <https://bitbucket.org/sjodogne/orthanc/issues/151/>`__.
201