I have been having a few issues recently, and I can’t quite figure out what is causing this. My setup:

  • gigabit WAN up and down. Run speed tests regularly and get 800+ mbps up and down.
  • opnsense router VM (proxmox) running on a lenovo m920x. Installed an intel 2x10gbe card.
  • Sodola 10gbe switch
  • TrueNAS server (bare metal) w/ 10gbe serving the media files over NFS, stored on a ZFS mirror.
  • Jellyfin LXC
  • debian LXC running the arr stack w/ qbittorrent
  • NVidia Shield w/ ethernet

First issue is extremely slow downloads on qbittorrent. Even if I download an ubuntu iso with hundreds of seeders will sit around 1 mibps. Media downloads with ~10 seeders, I’ll sit around 200kibps. Running this through gluetun and protonvpn wireguard with port forwarding enabled and functioning.

Second issue I’m having is if I am downloading anything on qbittorrent, and attempt to play a 4k remux on Jellyfin, it is constantly buffering. If I stop all downloads, immediately the movie plays without issue. 1080 files play without issue all the time.

I tried spinning up a new LXC with qbittorrent, and can download ubuntu isos at 30+ mibps locally and not over NFS.

Any idea what could be causing this? Is this a read/write issue on my TrueNAS server? Networking issuing causing the NFS to be slow? I’ve run iperf to the TrueNAS and getting 9+gbps.

  • just_another_person@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    5 days ago

    You need to remove a bunch of variables here to even start getting down to what may be the issue, but I’m guessing it’s just the networking.

    • did you run speed tests over protonvpn and is this a paid plan?
    • have you tested what your Ubuntu download speed is without VPN or gluetun in the way?
    • have you looked at the peer and tracker info to see what’s going on there?
    • have you tried another torrent client to rule out config issues with qbittorrent?
    • do you have QoS rules on your router?
    • what is the NFS server, and how are you mounting it?

    From your title it’s also hard to understand if you’re trying to stream an unfinished torrent or not. If you’re doing that over NFS, of course it’s not going to work. You’re introducing a waterfall effect of client read/write verification from the source down to the consumer where the contents of the source file are changing and need to be updated and verified all the way down the line.

    • monty33@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      edit-2
      5 days ago

      Hey pal super helpful follow up questions! Here is where I am:

      • did you run speed tests over protonvpn and is this a paid plan?

      Have not run speed tests, but yes it is a paid plan

      • have you tested what your Ubuntu download speed is without VPN or gluetun in the way?

      Yes I have tried bypassing gluetun with qbittorrent, and no change to the download speed.

      • have you looked at the peer and tracker info to see what’s going on there?

      No I have not. What info could I gather here? Same file being downloaded in both qbittorrent instances I’ve tried.

      • have you tried another torrent client to rule out config issues with qbittorrent?

      No but if you read my post, I did try a second instance of qbittorrent that does not use my NAS.

      • do you have QoS rules on your router?

      None.

      • what is the NFS server, and how are you mounting it?

      TrueNAS is serving the NFS, and the LXCs are mounting it via fstab entry.

      From your title it’s also hard to understand if you’re trying to stream an unfinished torrent or not.

      Sorry I was not clear. I am NOT trying to play media that is unfinished downloaded. I am trying to play files I already have, and they are impacted by other files being downloaded on qbittorrent.

      edit: formatting

        • monty33@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 days ago

          The Jellyfin LXC has 4 core, and the Arr stack w/ qbittorrent LXC also has 4 cores. The containers are running in bridge mode.

          • just_another_person@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 days ago

            You have more than enough cores for each then. Probably too many. As a test, try the qbit or jellyfin one in host mode and see if the network performance changes. I’d start going down the rabbit hole of tuning bridged mode network in LXC, or just keep them on host mode.

            • monty33@lemmy.mlOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              5 days ago

              One other thing I changed recently is the motherboard on the NAS. The new one is DDR5 and I didnt have another machine that takes ddr5 to run the new ram through men test, and I didnt want any downtime so I didnt do it. I just powered down the NAS and started memtest. Do you think a bad stick of ram could be the culprit? At this point in just trying to rule things out

              • just_another_person@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                5 days ago

                Bad RAM wouldn’t present like this. You’d more than likely never get past boot with a DDR5 board having caught it with POST tests, or you’d have thrown a kernel exception by now.

                I saw you mentioned that a new LXC container didn’t have the traffic problem, so this is definitely something with config somehow.

                • monty33@lemmy.mlOP
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  3 days ago

                  OK so I have done some additional testing:

                  • Memtest passed
                  • Added the NFS share to the new qbittorrent LXC, and the download speed dropped down to where my primary qbt is. So I believe this means it is related to the NFS share.
                  • Connected the NAS to a different switch. No change.
                  • Tried connecting to the NFS share through a different NIC in TrueNAS. No change.
                  • Migrated the qbt lxc to another proxmox node. No change.
                  • Created a new NFS share on a different pool on TrueNAS and made that the download directory for qbt. No change.

                  So I believe I have ruled out memory issues, NIC issues, datapool issues, and switch issues.

                  The problem is I don’t know exactly when this started.

                  I did change out the motherboard on TrueNAS, and just installed the existing NVMe drives into the new motherboard and booted off of them. I did not install a new TrueNAS OS and restore a backup. Could this be an issue?

                  Shortly after the motherboard change, I upgraded to Electric Eel.

                • monty33@lemmy.mlOP
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  5 days ago

                  Good points. I will finish the memtest thats running if only to have something ruled out. After it finishes I will try attaching the NFS share to the new qbt lxc and see if i get the same slow download speeds.

    • monty33@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 days ago

      The pool is a mirrored pair of 14TB drives. Pool is 56% full. SMART tests all pass, but the last scrub took over a week which was odd.

  • AverageGoob@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 days ago

    What resources does your qbittorrent have access to? CPU cores / Memory. I have tried running it on a Rpi and it CHUGS so I had to aggressively apply seeding limits and general # of connection limit too.

    • monty33@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 days ago

      The qbittorrent docker container runs on an LXC. The LXC has 4 cores and 8 GB memory.