Phase 0: Performance Quick Wins

Implemented comprehensive performance optimizations across 7 services:

Redis Caching:
- Firefly III: Added Redis cache for sessions and application cache (84.6% hit rate)
- Gitea: Configured Redis for cache, sessions, and task queues
- Synapse: Enabled Redis cache for Matrix homeserver
- Nextcloud: Already had Redis, added tmpfs and proper container naming

Database Tuning:
- Zabbix: Added MySQL tuning (existing performance.cnf with 3GB buffer already optimal)
- Paperless: MariaDB tuning (256MB buffer, 64MB log, 50 connections)
- Trading Bot: PostgreSQL tuning (128MB shared_buffers, optimized work_mem)
- Firefly III: MariaDB optimization (512MB buffer, 128MB log, 100 connections)

Tmpfs Mounts (in-memory temporary storage):
- Nextcloud: 1GB /tmp, 512MB /var/tmp
- Paperless: 512MB /tmp, 256MB /var/tmp
- Jellyfin: 2GB /tmp, 1GB /var/tmp (for transcoding)

Container Naming:
- Nextcloud: Renamed from compose_files_* to nextcloud-redis, nextcloud-db, nextcloud-app

Documentation:
- Updated INFRASTRUCTURE_ROADMAP.md with Phase 0 section and completion tracking
- Created PERFORMANCE_IMPROVEMENTS_2025-11-12.md with detailed change log
- Created deploy-performance-improvements.sh automation script

All services verified healthy and running with improvements.
This commit is contained in:
mindesbunister
2025-11-13 10:18:10 +01:00
parent 50489788bf
commit d7c6bc8375
10 changed files with 756 additions and 6 deletions

View File

@@ -2,6 +2,7 @@ version: '3'
services:
redis:
image: redis:alpine
container_name: nextcloud-redis
restart: unless-stopped
volumes:
- redis_data:/data
@@ -15,6 +16,7 @@ services:
#options:
#loki-url: "http://localhost:3100/loki/api/v1/push"
image: mariadb:10.5
container_name: nextcloud-db
command: --innodb-buffer-pool-size=4G --innodb-log-file-size=512M --max-connections=200
volumes:
- /home/icke/mariadb-nextcloud/db:/var/lib/mysql
@@ -35,6 +37,7 @@ services:
#options:
#loki-url: "http://localhost:3100/loki/api/v1/push"
image: nextcloud_full:30
container_name: nextcloud-app
depends_on:
- db
- redis
@@ -54,6 +57,9 @@ services:
- UPLOAD_MAX_SIZE=20G
#- LOG_LEVEL=DEBUG
restart: unless-stopped
tmpfs:
- /tmp:size=1G
- /var/tmp:size=512M
networks:
nextcloud:
aliases: