效能調校
為正式環境工作負載最佳化 milmil。
Redis 快取
Redis 係選用嘅,但強烈建議喺正式環境使用。無 Redis 嘅話,milmil 會用記憶體內快取,重啟後唔會保留。
REDIS_URL=redis://localhost:6379容量建議
| 媒體庫大小 | 建議 Redis 記憶體 |
|---|---|
| < 500 部動畫 | 64 MB |
| 500–2000 部動畫 | 256 MB |
| 2000+ 部動畫 | 512 MB+ |
轉碼
硬件加速
硬件加速可以大幅降低轉碼時嘅 CPU 使用率。無硬件加速嘅話,單一 1080p 轉碼串流可以用盡一個 CPU 核心嘅 100%。
milmil 支援 FFmpeg 硬件加速後端:
| 後端 | 說明 |
|---|---|
| VAAPI | Video Acceleration API(Linux 上嘅 Intel、AMD) |
| NVENC | NVIDIA GPU 編碼 |
| QSV | Intel Quick Sync Video |
| VideoToolbox | macOS 硬件加速 |
Docker 環境下需要透傳 GPU 裝置:
# NVIDIA
devices:
- /dev/nvidia0:/dev/nvidia0
- /dev/nvidiactl:/dev/nvidiactl
# Intel VAAPI
devices:
- /dev/dri:/dev/dri品質預設
| 預設 | 使用場景 | CPU 使用率 |
|---|---|---|
ultrafast | 低功耗裝置(RPi) | 最低 |
fast | 品質/速度平衡 | 中等 |
medium | 預設 — 良好品質 | 高 |
資料庫調校
大型媒體庫建議調校 PostgreSQL:
-- 連線池(喺 DATABASE_URL 設定)
-- ?pool_max_conns=20&pool_min_conns=5
-- 建議嘅 postgresql.conf 調整
shared_buffers = 256MB
effective_cache_size = 1GB
work_mem = 16MB