Assistance required to improve performance

Questions, comments, discussions. Over time certain topics might be moved to their own category.
Post Reply
ludocomp
Posts: 6
Joined: Tue Jun 08, 2021 6:39 am

Assistance required to improve performance

Post by ludocomp »

Hello,

Our Mayan server (launched via docker-compose) is running on dedicated VM composed of 8 vCPU, 16Gb RAM and 200Gb of disk.

Code: Select all

CONTAINER ID   IMAGE                      COMMAND                  CREATED      STATUS        PORTS                  NAMES
7a5eefafdab9   mayanedms/mayanedms:s4.0   "entrypoint.sh run_a…"   9 days ago   Up 15 hours   0.0.0.0:80->8000/tcp   mayan_app_1
90f901bf7798   postgres:10.15-alpine      "docker-entrypoint.s…"   9 days ago   Up 15 hours   5432/tcp               mayan_postgresql_1
5f74cb0c43dc   redis:6.0-alpine           "docker-entrypoint.s…"   9 days ago   Up 15 hours   6379/tcp               mayan_redis_1
[/size]


List documents (from Documents, Tags or Cabinet sections), Search take to many time.
I would like to know if it is possible to improve performance tuning settings ?


NOTE: Our Mayan database contains PDF files retrieved from watch folder sources (~15 / 20 sources)


Regards,
gtrot
Posts: 26
Joined: Tue Oct 01, 2019 9:03 pm

Re: Assistance required to improve performance

Post by gtrot »

Hi,
For improved searching, you should consider changing the search backend from the default to Whoosh : https://docs.mayan-edms.com/chapters/se ... r-backends.
Regards,
Guillaume
User avatar
michael
Developer
Developer
Posts: 266
Joined: Sun Apr 19, 2020 6:21 am

Re: Assistance required to improve performance

Post by michael »

The default installation uses a single container to run the entire stack. This is done to make installation as simple as possible. But has the drawback that a process in a worker can slow down the other workers or the user interface. Such example is the OCR and the search.

If your installation performance starts to degrade you need to switch to a multi container installation. This will run the elements of Mayan as separate containers where the CPU and memory consumption of one will not affect the others.

We are routinely able to hosts several hundred thousand documents this way in a single KVM VM using 4vCPU and 4GBs of RAM.

When you reach a million documents or several dozen million pages, then the recommendation is to switch to a multi host deployment (bare metal or VMs) and to switch to Kubernetes for better container orchestration and load balancing. We open sourced our Kubernetes Helm used for commercial deployments as part of the new Mayan Labs initiative: https://gitlab.com/mayan-edms/helm-chart

This is the value we add to the project via the commercial support service. These allow us to create a custom deployment strategy that fits your workload. You can subscribe to the support programs without a contract but we also offer custom contract options that include other things like training and migrations => https://www.mayan-edms.com/support/
Post Reply