2024-12-26, 02:17 PM
(2024-12-26, 11:48 AM)Varad Chiney Wrote: Hi everyone,
I’m running Jellyfin on a Raspberry Pi 5, and I’m facing issues with the Web UI becoming choppy and laggy when around 8-10 users are connected simultaneously. Additionally, SSH access to the Pi also becomes slow during this time. However, the system resources seem to be underutilized, which has left me puzzled.
Current Setup:
Observations:
- Device: Raspberry Pi 5 (4GB/8GB RAM)
- Media Files: All videos are pre-transcoded to x264 format to avoid transcoding load during playback.
- Storage: Videos are stored on a high-speed external SSD connected via USB 3.0.
- Network: Gigabit Ethernet connection.
- Jellyfin Version: Jellyfin.Server 10.10.3.0
Questions:
- When monitoring with
htop
, the system doesn’t seem stressed:
- RAM usage is under 700MB.
- CPU usage is minimal.
- Despite the low resource usage, the Jellyfin Web UI becomes unresponsive, and SSH sessions are sluggish.
Additional Context:
- Are there known bottlenecks in Jellyfin's Web UI or other components that could cause lag under heavy user traffic?
- Could this be related to I/O bottlenecks, even though CPU and memory usage remain low?
- Would implementing a reverse proxy (e.g., Nginx or Caddy) to manage connections help mitigate these issues?
- Are there system-level optimizations (e.g., network stack tuning, caching, etc.) that could improve the responsiveness of the Web UI and SSH under load?
- Is there a way to profile Jellyfin’s Web UI performance to identify specific areas causing the slowdown?
Any advice, insights, or guidance would be greatly appreciated! If anyone has managed a similar load on a Raspberry Pi or other low-power devices, I’d love to hear about your setup and optimizations.
- I’ve streamlined metadata processing and set up user permissions to minimize unnecessary operations.
- My primary concern is ensuring Jellyfin can handle 40-50 users simultaneously in the future, but the current performance with just 8-10 users suggests that optimization is needed before scaling.
Thank you in advance for your help!
Potentially Problematic Hardware
These hardware platforms might lead to a poor Jellyfin experience. Please be careful to avoid them when shopping for hardware.
- Intel "Atom" CPUs: Intel J/M/N/Y series low power CPUs up to 11th gen use a different architecture than higher end parts, leading to subpar performance despite what their names might suggest. Please be careful about these parts when shopping for a system to run Jellyfin.
- Prebuilt NAS devices: The software environment on most Prebuilt NAS devices often causes 3rd party software to be hard to install and not work properly. They also often have low end processors that are too slow for a good Jellyfin experience (Intel Atom, Realtek ARM CPUs etc.).
- Most Single Board Computers (SBC): Most SBCs (Including Raspberry Pis and especially the Pi 5) are too slow to provide a good Jellyfin experience since they often lack proper support for hardware acceleration. If You really want to run Jellyfin on an SBC, please look at models based on the following platforms: Rockchip RK3588 / RK3588S, Intel Core, Intel 12th gen N series
- AMD Graphics: AMD Graphics have poor encoder quality and poor driver support. This applies even on Linux.
- Low end GPUs: Certain low end GPUs (eg. GT1030, RX6400) don't have hardware encoding available. These models can't be used for Jellyfin hardware acceleration.
Jellyfin 10.10.7 (bare metal)
Ubuntu 24.04.2 LTS, OS 1TB NVMe
Dell OptiPlex 7050 Intel i7-6700 32GB ram
Intel Arc A310 ELF
Storage: TrueNas Mini R Raidz2 45 TiB (Samba shares)
Gateway: PFsense/HAproxy
Ubuntu 24.04.2 LTS, OS 1TB NVMe
Dell OptiPlex 7050 Intel i7-6700 32GB ram
Intel Arc A310 ELF
Storage: TrueNas Mini R Raidz2 45 TiB (Samba shares)
Gateway: PFsense/HAproxy