I guess using LVM on an old raspberry pi 3B+ was not the smartest idea :/ ! As expected the pi 3b+ can handle qbittorrent and piHole without to much load average…
After switching from LVM+EXT4 to a single EXT4 partition, I can download, check file integrity and resolve DNS at the same time without my dns resolution hanging !
Solution:
- Install piHoleOS on a simpler filesystem without LVM (ext4)
- Take qbittorrent out of docker and install it barebone on the device (qbittorrent-nox)
Hello :))
I’m relatively new to the pi and all the ecosystem (ARM, SBC…) and I’m kinda intrigued on what’s happening here if someone has some info to share.
I generally work on debian for my server stuff but found an old never used RPi 3B+ in one of my boxes. Installed RPi OS lite based on debian bookworm and docker with the pihole container as DNS server for my home network.
Works great and does hold all my DNS requests without issues. However, yesterday I migrated my qbittorrent stuff (mostly linux ISO 😅) on the RPi, on an external HDD over USB.
While uploading works fine without issues for +/- 100 torrent files, when downloading OR checking the files integrity the RPi is chocking really hard making the DNS request slowdown and even unresponsive…
I did some search and from my findings the USB is a hard bottleneck for file transfer on the pi 3b+ and qbittorrent in a container adds alot of overheat too, so I checked and moved everything out of the container and installed qbittorrent-nox which does improve the situation but it still makes the DNS request on pihole impossible when downloading or checking file integrity.
I this some kind of bug, known issue? RPi is cool stuff but If it can’t hold or stand a medium hungry service, that’s kinda a bummer… It’s not doing that much of work, It’s just resolving DNS and downloading a file over the torrent protocol.
Somone similar issue, observation, insight or solution? Or is the pi not meant to hold a torrenting service?
You kinda have to temper your expectations. It’s a 7 year old $35 computer with only 1 gig of ram and no cooling.
I think the 3 was the last Gen. where the Ethernet shared the same network bus as the USB, and to boot it’s only a USB 2.0 bus.
Are you CPU limited, or do you think it’s the network/USB bus? If it’s CPU bound you could try deprioritizing qbit and upping the priority of pi hole. You can do this temporarily using the nice options in HTOP. I forget how to permanently do it, but you’d do it on startup of the program.
Hello sorry to pin you but I fixed and found the culprit: putting an LVM ext4 filesystem on an old raspberry pi 3B+ was not the brightest idea I guess… After putting everything on a simple EXT4 partition I’m able to download, check integrity and resolve DNS without giving a sweat !
Thanks again and have a nice whatever you’re in right now :).
Huh, TIL. I had no idea LVM had an appreciable impact on performance, even on a pi 3.
I think (I will not dive this rabbit hole right now haha) it’s only related to the pi 3 archtitectur (shared USB bus with the ethernet controller?).
Yeah it probably added a lot of overhead and I/O bottleneck due not beeing optimized for it. But I’m not sure this is applicable in a more conventional setup !
I have an older laptop (+/- 10 years old) which run nicely with LVM-ext4 and does not hang or choks on piHole + qbittorrent in a similar setup.
Guess, I have to keep it simple on my pi 3, But happy it works as expected now !
Ohh daaamn… I lost my answer while doing something else on my phone… Fuck !
I didn’t expect to much for such an old device, however It should be capable to hold a small piHole (3 devices connected to the dns resolution) and a moderate qbit installation.
While uploading works wihout any I/O choking on the HDD on 100 torrents (sometimes uploads upto 10MB/s, which is the pi’s limitation…) It can’t handle a single download file? And checking the file integrity just makes the DNS resolution on piHole timeout ! That’s kinda frustrating, because from the spec side It should be capable :/.
I don’t think It’s CPU or ram limited, with TOP/HTOP it is kinda getting a spike when checking or downloading a file, but nothing that would completely stop piHole dns resolution, this is bound to I/O choking on the HDD, which is even more frustrating, cause there’s nothing I can do about it I guess? The HDD health is okay, it’s a repurposed WD Red with acceptable SMART results. Also the pi is running with the correct cable I got with.
If it’s CPU bound you could try deprioritizing qbit and upping the priority of pi hole.
Even if it’s not CPU bound I will give this a try, didn’t know that was possible, thanks for the insight !! Also while rewritting my response, I though of maybe to increase the swap file/partition, and I’m not even sure I have one, so I have 2 things to try out when home !!
Thanks for your anwser !
multitasking + pi = headache (unless maybe on pi5)
personally, i would run pi-hole on a separate sbc. pi zero works fine.
for torrenting, even by itself, I’d prefer a pi4. lots of bad experiences with qbt @ pi3, although it is technically capable.
Hii :) Just as friendly reminder… Don’t put a LVM system on an old Raspberry pi 3B+ !! I solved the issue when putting everything on a simple EXT4 filesystem. Now I’m able to download, upload, check integrity and resolve DNS without it giving a sweat.
Yeaaah, that’s my point… It should be capable but it chokes on a single download file while uploading works without even giving a sweat.
lots of bad experiences with qbt @ pi3,
Yeah so it’s not just me. It’s kinda sad I though I could use it as a low power mini qbittorrent server and DNS service.
I guess it will only run piHole then ! Thanks for your personal experience.