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
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
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.