I’m running self-hosted Redash using Docker-compose. It’s taking about 650MB of RAM while sitting idle, which seems excessive. We have less than 10 queries defined in our instance, though some of them are on a 5m refresh schedule.
- Redash version: 4.0.1+b4038
- Docker version: 18.06.1-ce
- Docker-compose version: 1.22.0
This is the output of
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 812087c136d6 redash_server_1 0.01% 447.8MiB / 1.953GiB 22.39% 1.27MB / 1.19MB 9.73MB / 0B 0 7cb0f3c7febe redash_redis_1 0.09% 10.21MiB / 1.953GiB 0.51% 494kB / 1.26MB 2.44MB / 2.47MB 0 7be78faee516 redash_worker_1 0.00% 183.5MiB / 1.953GiB 9.17% 234kB / 319kB 48.1MB / 36.9kB 0 5f90bb9204d6 redash_postgres_1 0.00% 8.578MiB / 1.953GiB 0.43% 122kB / 141kB 16.3MB / 475kB 0
If I change the
REDASH_WEB_WORKERS config variable from 4 to 1, then
redash_server_1's RAM usage goes to 118MB, but
redash_worker_1's goes to 252MB.
Is this expected, or an anomaly? Why are gunicorn and celery so much more intensive than postgres and redis? Where should I begin looking into it?