I know that Plex doesn’t read these (my previous request for help with a different issue went completely ignored) so I’m mostly posting this just for reference.
I had a Plex server running on a Debian 10 LXC container on a Proxmox host. Lag was horrible on the clients. Almost any operation would cause a spinner, sometimes you’d get a timeout error. If you could get something playing, then it was usually fine until you went back to the UI, and then it was garbage again. Meanwhile, CPU usage inside the container was usually pegged as high as it would go, no matter how many cores you gave it.
Expermentally, I moved the entire server install into a Debian 10 qemu VM, but changed nothing else. Now, it works perfectly. Everything seems buttery smooth, CPU usage is low, and there’s no lag.
I’m assuming this is just the typical poor Plex software quality, but just in case this is helpful to someone, I thought I’d post here.
Since I moved my server the old one isn’t running anymore, so it will take a short while to get logs if you really need them. However, this isn’t a playback or transcoding problem. I’ll repeat the important details from my original post:
This happens when browsing the UI. For example, thumbnails loading, scrolling through movies or TV shows. Once something is playing, it’s fine. CPU usage on the server is pegged high when browsing the UI, but low when playing back.
And in any case, my clients (iPad, Apple TV) support HEVC natively anyway. There would be no transcoding.
After about 24 hours the lag/performance problems returned, so I guess Plex was just teasing me and the VM/container difference is a red herring.
I’ve since moved the server back into a container, but this time an Ubuntu LTS container and not Debian 10. After about 48 hours, fingers crossed, things seem to be working fine.
So I guess(?) that Plex is interacting with Debian 10 in a bad way which causes problems.
I have been running Plex inside a Proxmox container on Debian (now 10) for years now without issue.
I know this does not help you much, just saying it’s not broken by design