- Cache ammonia::Builder with LazyLock (was rebuilt per request) - Enable tracing release_max_level_info to strip tracing overhead at compile time - Remove TraceLayer and tower-http trace feature from production - Increase DB pool size 10→20 (configurable via DB_POOL_SIZE) - Increase SSR cache TTL 300s→3600s (configurable via SSR_CACHE_SECS) Benchmark: 7,444 → 9,840 req/s, P99 latency 27.6ms → 11.1ms
28 lines
794 B
Plaintext
28 lines
794 B
Plaintext
DATABASE_URL=postgres://postgres:postgres@localhost:5432/yggdrasil
|
||
RUST_LOG=info
|
||
|
||
# Rate Limit — 严格限流(登录、注册)
|
||
RATE_LIMIT_STRICT_PER_SEC=1
|
||
RATE_LIMIT_STRICT_BURST=5
|
||
# Rate Limit — 上传限流(图片上传)
|
||
RATE_LIMIT_UPLOAD_PER_SEC=2
|
||
RATE_LIMIT_UPLOAD_BURST=15
|
||
# Rate Limit — 图片访问限流(/uploads/*)
|
||
RATE_LIMIT_IMAGE_PER_SEC=10
|
||
RATE_LIMIT_IMAGE_BURST=50
|
||
|
||
# WebP encoding configuration
|
||
# Quality: 0.0 (smallest) to 100.0 (best), default 85.0
|
||
WEBP_QUALITY=85.0
|
||
# Method: 0 (fastest) to 6 (best quality), default 2
|
||
WEBP_METHOD=2
|
||
|
||
# Maximum concurrent sessions per user (default: 5, minimum: 1)
|
||
MAX_SESSIONS_PER_USER=5
|
||
|
||
# Database connection pool size (default: 20)
|
||
DB_POOL_SIZE=20
|
||
|
||
# SSR page cache duration in seconds (default: 3600)
|
||
SSR_CACHE_SECS=3600
|