Mercurial > hg > orthanc-book
changeset 438:5d6d593bceb6
scalability section
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Tue, 26 May 2020 08:21:29 +0200 |
parents | 0942c745d2b5 |
children | 76b7279e52e6 |
files | Sphinx/source/faq/scalability.rst Sphinx/source/plugins/mysql.rst Sphinx/source/plugins/postgresql.rst |
diffstat | 3 files changed, 50 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/Sphinx/source/faq/scalability.rst Mon May 25 17:29:13 2020 +0200 +++ b/Sphinx/source/faq/scalability.rst Tue May 26 08:21:29 2020 +0200 @@ -162,3 +162,40 @@ bypass arenas for large memory blocks such as DICOM files). Check out the `manpage <http://man7.org/linux/man-pages/man3/mallopt.3.html>`__ of ``mallopt()`` for more information. + + +.. _scalability-limitations: + +Known limitations +----------------- + +Exclusive access to the DB +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +As of Orthanc 1.7.0, the internal code accessing the DB is still affected +by limitations induced by the SQLite engine that was the only one originally +available at the beginning of the project: inside a single Orthanc process, +there are no concurrent access to the DB. + +One solution to avoid this limitation is to have multiple Orthanc accessing +the same DB (works only for MySQL and PostgreSQL) as presented in this `sample +<https://bitbucket.org/osimis/orthanc-setup-samples/src/master/docker/multiple-orthancs-on-same-db/>`__. + +Also note that the core of Orthanc does not currently support the replay +of database transactions, which is necessary to deal with conflicts +between several instances of Orthanc that would simultaneously write +to the database. As a consequence, as of Orthanc 1.7.0, when connecting multiple +Orthanc to a single database by setting ``Lock`` to ``false``, there +should only be one instance of Orthanc acting as a writer and all the +other instances of Orthanc acting as readers only. Be careful to set +the option ``SaveJobs`` to ``false`` in the configuration file of all +the instances of Orthanc acting as readers. + +A refactoring is needed to improve the core of Orthanc in that +respect, for which we are looking for funding from the +industry. Some issues reported in our bug tracker call for this +refactoring: `issue 83 +<https://bitbucket.org/sjodogne/orthanc/issues/83/>`__, `issue 121 +<https://bitbucket.org/sjodogne/orthanc/issues/121/>`__, `issue 151 +<https://bitbucket.org/sjodogne/orthanc/issues/151/>`__. +
--- a/Sphinx/source/plugins/mysql.rst Mon May 25 17:29:13 2020 +0200 +++ b/Sphinx/source/plugins/mysql.rst Tue May 26 08:21:29 2020 +0200 @@ -171,3 +171,9 @@ instance of Orthanc writing to the database). For more information, please check out the :ref:`documentation for PostgreSQL <postgresql-lock>`. + +Scalability +^^^^^^^^^^^ + +When configuring your MySQL plugin, ensure you've read the :ref:`scalability section +<scalability>`
--- a/Sphinx/source/plugins/postgresql.rst Mon May 25 17:29:13 2020 +0200 +++ b/Sphinx/source/plugins/postgresql.rst Tue May 26 08:21:29 2020 +0200 @@ -243,27 +243,6 @@ between instances of Orthanc. In particular, all these instances should share the same configuration. -Furthermore, the core of Orthanc does not currently support the replay -of database transactions, which is necessary to deal with conflicts -between several instances of Orthanc that would simultaneously write -to the database. - -As a consequence, as of Orthanc 1.7.0, when connecting multiple -Orthanc to a single database by setting ``Lock`` to ``false``, there -should only be one instance of Orthanc acting as a writer and all the -other instances of Orthanc acting as readers only. Be careful to set -the option ``SaveJobs`` to ``false`` in the configuration file of all -the instances of Orthanc acting as readers. - -A refactoring is needed to improve the core of Orthanc in that -respect, for which we are looking for funding/donation from the -industry. Some issues reported in our bug tracker call for this -refactoring: `issue 83 -<https://bitbucket.org/sjodogne/orthanc/issues/83/>`__, `issue 121 -<https://bitbucket.org/sjodogne/orthanc/issues/121/>`__, `issue 151 -<https://bitbucket.org/sjodogne/orthanc/issues/151/>`__. - - Keep-alive ^^^^^^^^^^ @@ -283,3 +262,10 @@ `enable keep-alive <https://dba.stackexchange.com/questions/97534/is-there-a-timeout-option-for-remote-access-to-postgresql-database>`__ in the configuration of your PostgreSQL server + + +Scalability +^^^^^^^^^^^ + +When configuring your PostgreSQL plugin, ensure you've read the :ref:`scalability section +<scalability>`