comparison Sphinx/source/faq/scalability.rst @ 392:0fb9369e893e

Orthanc 1.6.1
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 21 Apr 2020 15:22:20 +0200
parents e4b0a4d69f42
children c95817c254fe
comparison
equal deleted inserted replaced
391:4bc6bcd83ae5 392:0fb9369e893e
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.6.0 at the time of 57 * Make sure to use the latest release of Orthanc (1.6.1 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``.
132 This large memory consumption comes from the fact that the embedded 132 This large memory consumption comes from the fact that the embedded
133 HTTP server is heavily multi-threaded, and that many so-called `memory 133 HTTP server is heavily multi-threaded, and that many so-called `memory
134 arenas <https://sourceware.org/glibc/wiki/MallocInternals>`__ are 134 arenas <https://sourceware.org/glibc/wiki/MallocInternals>`__ are
135 created by the glibc standard library (up to one per thread). As a 135 created by the glibc standard library (up to one per thread). As a
136 consequence, if each one of the 50 threads in the HTTP server of 136 consequence, if each one of the 50 threads in the HTTP server of
137 Orthanc (this was the default value in Orthanc <= 1.6.0) allocates at 137 Orthanc (default value of the ``HttpThreadsCount`` option) allocates
138 some point, say, 50MB, the total memory usage reported as "VmRSS" can 138 at some point, say, 50MB, the total memory usage reported as "VmRSS"
139 grow up to 50 threads x 50MB = 2.5GB, even if the Orthanc threads 139 can grow up to 50 threads x 50MB = 2.5GB, even if the Orthanc threads
140 properly free all the buffers. 140 properly free all the buffers.
141 141
142 .. highlight:: bash 142 .. highlight:: bash
143 143
144 A possible solution to reducing this memory usage is to ask glibc to 144 A possible solution to reducing this memory usage is to ask glibc to