Slow Performance on Synology DS918+ 16Gb RAM Docker Gramps Web

Hello,

this weekend I was searching for the best selfhosted software to document my family tree and so I found and installed Gramps Web on my NAS.

Gramps 6.0.1
Gramps Web API 3.1.0
Gramps Web Frontend 25.5.2
Gramps QL 0.4.0
Sifts 1.0.0
locale: en
multi-tree: false
task queue: true
OCR: true
chat: false

The UI is nice, the import worked flawlessly but the performance is lacking.

Every time I create something new or change something it takes arount 2-5 seconds to write that change.

With this delay it is hard to use.
Is there somethimg that needs to be adjusted?

I used the docker compose file from the documentation.

Creating something new should have actually become much faster in 3.1.0, see the Release Notes. On my Raspberry Pi, it is much faster than 2-5 seconds. Please post a screenshot of the browser dev tools (Network tab).

You can also try tweaking the configuration if you are hitting resource limits: Limit CPU & memory usage - Gramps Web

The next release will introduce caching, but that won’t help during editing (as modified objects need to be refetched obviously).

1 Like

Hello David,

here the screenshot:

Wow, 3 seconds for /metadata, it’s 121 ms on my Raspberry Pi. So something is clearly wrong. Have you checked the CPU and RAM usage of your NAS? I assume you need to reduce the number of workers in both containers (see link above) to reduce RAM usage.

Like this? Sadly it doesn’t change anything performance wise.
This how my docker compose file looks like.
RAM and CPU usage doesnt change much when creating or changing an entry.

Thanks for helping. Im pretty new to this!

services:
  grampsweb: &grampsweb
    image: ghcr.io/gramps-project/grampsweb:latest
    restart: always
    ports:
      - "3080:5000"  # host:docker
    environment:
      GRAMPSWEB_TREE: "Gramps Web"
      GRAMPSWEB_CELERY_CONFIG__broker_url: "redis://grampsweb_redis:6379/0"
      GRAMPSWEB_CELERY_CONFIG__result_backend: "redis://grampsweb_redis:6379/0"
      GRAMPSWEB_RATELIMIT_STORAGE_URI: redis://grampsweb_redis:6379/1
      GUNICORN_NUM_WORKERS: 2
    depends_on:
      - grampsweb_redis
    volumes:
      - /volume1/docker/gramps/users:/app/users
      - /volume1/docker/gramps/index:/app/indexdir
      - /volume1/docker/gramps/thumb_cache:/app/thumbnail_cache
      - /volume1/docker/gramps/cache:/app/cache
      - /volume1/docker/gramps/secret:/app/secret
      - /volume1/docker/gramps/db:/root/.gramps/grampsdb
      - /volume1/docker/gramps/media:/app/media
      - /volume1/docker/gramps/tmp:/tmp

  grampsweb_celery:
    <<: *grampsweb
    ports: []
    container_name: grampsweb_celery
    depends_on:
      - grampsweb_redis
    command: celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=2

  grampsweb_redis:
    image: docker.io/library/redis:7.2.4-alpine
    container_name: grampsweb_redis
    restart: always

Weird.

How big is your tree?

Compared to others quite small:

RAM usage:
grampsweb: 1.7 Gb
celery: 334 Mb
redis: 4 Mb

@DavidMStraub is there a way to get the reason of the bad performance?
Can i generate log files to check?

What can I say? It’s like for every software. Try out the settings that affect performance (I listed them above) and monitor your CPU and memory usage.

If your NAS is too slow (I wouldn’t be surprised, mine is terribly slow), get a Rapsberry Pi or a VM.