Initial commit: Open sourcing all of the Maple Open Technologies code.
This commit is contained in:
commit
755d54a99d
2010 changed files with 448675 additions and 0 deletions
161
cloud/infrastructure/production/setup/templates/redis.prod.conf
Normal file
161
cloud/infrastructure/production/setup/templates/redis.prod.conf
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
# Maple Infrastructure - Redis Production Configuration
|
||||
# This file is used by the Redis Docker container
|
||||
|
||||
# ==============================================================================
|
||||
# NETWORK
|
||||
# ==============================================================================
|
||||
# Bind to all interfaces (Docker networking handles access control)
|
||||
bind 0.0.0.0
|
||||
|
||||
# Default Redis port
|
||||
port 6379
|
||||
|
||||
# Protected mode disabled (we rely on Docker network isolation)
|
||||
# Only containers on maple-prod overlay network can access
|
||||
protected-mode no
|
||||
|
||||
# ==============================================================================
|
||||
# PERSISTENCE
|
||||
# ==============================================================================
|
||||
# RDB Snapshots (background saves)
|
||||
# Save if at least 1 key changed in 900 seconds (15 min)
|
||||
save 900 1
|
||||
|
||||
# Save if at least 10 keys changed in 300 seconds (5 min)
|
||||
save 300 10
|
||||
|
||||
# Save if at least 10000 keys changed in 60 seconds (1 min)
|
||||
save 60 10000
|
||||
|
||||
# Stop writes if RDB snapshot fails (data safety)
|
||||
stop-writes-on-bgsave-error yes
|
||||
|
||||
# Compress RDB files
|
||||
rdbcompression yes
|
||||
|
||||
# Checksum RDB files
|
||||
rdbchecksum yes
|
||||
|
||||
# RDB filename
|
||||
dbfilename dump.rdb
|
||||
|
||||
# Working directory for RDB and AOF files
|
||||
dir /data
|
||||
|
||||
# ==============================================================================
|
||||
# APPEND-ONLY FILE (AOF) - Additional Durability
|
||||
# ==============================================================================
|
||||
# Enable AOF for better durability
|
||||
appendonly yes
|
||||
|
||||
# AOF filename
|
||||
appendfilename "appendonly.aof"
|
||||
|
||||
# Sync strategy: fsync every second (good balance)
|
||||
# Options: always, everysec, no
|
||||
appendfsync everysec
|
||||
|
||||
# Don't fsync during rewrite (prevents blocking)
|
||||
no-appendfsync-on-rewrite no
|
||||
|
||||
# Auto-rewrite AOF when it grows 100% larger
|
||||
auto-aof-rewrite-percentage 100
|
||||
auto-aof-rewrite-min-size 64mb
|
||||
|
||||
# ==============================================================================
|
||||
# MEMORY MANAGEMENT
|
||||
# ==============================================================================
|
||||
# Maximum memory (adjust based on your droplet RAM)
|
||||
# For 2GB droplet with Redis only: 1.5GB safe limit
|
||||
# For 2GB droplet with other services: 512MB-1GB
|
||||
maxmemory 512mb
|
||||
|
||||
# Eviction policy when maxmemory reached
|
||||
# allkeys-lru: Evict least recently used keys (good for cache)
|
||||
# volatile-lru: Only evict keys with TTL set
|
||||
# noeviction: Return errors when memory limit reached
|
||||
maxmemory-policy allkeys-lru
|
||||
|
||||
# LRU/LFU algorithm precision (higher = more accurate, more CPU)
|
||||
maxmemory-samples 5
|
||||
|
||||
# ==============================================================================
|
||||
# SECURITY
|
||||
# ==============================================================================
|
||||
# Require password for all operations
|
||||
# IMPORTANT: This is loaded from Docker secret in production
|
||||
# requirepass will be set via command line argument
|
||||
|
||||
# Disable dangerous commands in production
|
||||
rename-command FLUSHDB ""
|
||||
rename-command FLUSHALL ""
|
||||
rename-command CONFIG ""
|
||||
|
||||
# ==============================================================================
|
||||
# LOGGING
|
||||
# ==============================================================================
|
||||
# Log level: debug, verbose, notice, warning
|
||||
loglevel notice
|
||||
|
||||
# Log to stdout (Docker captures logs)
|
||||
logfile ""
|
||||
|
||||
# ==============================================================================
|
||||
# DATABASES
|
||||
# ==============================================================================
|
||||
# Number of databases (default 16)
|
||||
databases 16
|
||||
|
||||
# ==============================================================================
|
||||
# PERFORMANCE TUNING
|
||||
# ==============================================================================
|
||||
# Timeout for idle client connections (0 = disabled)
|
||||
timeout 300
|
||||
|
||||
# TCP keepalive
|
||||
tcp-keepalive 300
|
||||
|
||||
# Number of I/O threads (use for high load)
|
||||
# 0 = auto-detect, 1 = single-threaded
|
||||
io-threads 2
|
||||
io-threads-do-reads yes
|
||||
|
||||
# ==============================================================================
|
||||
# SLOW LOG
|
||||
# ==============================================================================
|
||||
# Log queries slower than 10ms
|
||||
slowlog-log-slower-than 10000
|
||||
|
||||
# Keep last 128 slow queries
|
||||
slowlog-max-len 128
|
||||
|
||||
# ==============================================================================
|
||||
# ADVANCED
|
||||
# ==============================================================================
|
||||
# Enable active rehashing
|
||||
activerehashing yes
|
||||
|
||||
# Client output buffer limits
|
||||
client-output-buffer-limit normal 0 0 0
|
||||
client-output-buffer-limit replica 256mb 64mb 60
|
||||
client-output-buffer-limit pubsub 32mb 8mb 60
|
||||
|
||||
# Max number of clients
|
||||
maxclients 10000
|
||||
|
||||
# ==============================================================================
|
||||
# NOTES
|
||||
# ==============================================================================
|
||||
# This configuration is optimized for:
|
||||
# - Production caching workload
|
||||
# - 2GB RAM droplet
|
||||
# - Single Redis instance (not clustered)
|
||||
# - AOF + RDB persistence
|
||||
# - Docker Swarm networking
|
||||
#
|
||||
# Monitoring commands:
|
||||
# - INFO: Get server stats
|
||||
# - SLOWLOG GET: View slow queries
|
||||
# - MEMORY STATS: Memory usage breakdown
|
||||
# - CLIENT LIST: Connected clients
|
||||
# ==============================================================================
|
||||
Loading…
Add table
Add a link
Reference in a new issue