Setup for torrents (thrashing)

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Cutha

Member
Sep 24, 2016
75
7
8
50
Canada
Hi,

I am trying to figure out the best setup for torrents. The space needs to be big, at least 2TB and reasonably quick. There are multiple torrent machines using the drives and previously I had issues with my torrent client throttling back because the drives couldn't keep up.

Let me start by saying that I am not a complete idiot. Mind you it cost me. My first big ticket item (~$1000CAD) for home use was an areca ARC-1280ML (24 port, 2Gb RAM, BBU) and I think I had 20*1.5TB drives in RAID6 attached to it. I used the one big array for VM's, media. One of the VM's was setup for torrents. I thought it was the greatest setup in the world until HDD's started failing.

My current torrent setup was primarily a test that I put together using hardware I had laying around the house. 3*3TB WD Green and 4*120GB SSD. Using Storage Spaces the HDD's are setup in a single parity array with the SSD's setup as Journal drives. It's quick enough and as proof of concept it worked out pretty good.

I really like Storage Spaces because if I need to I can move the drives to another machine without issue. I am familiar with Windows and I prefer to stay on that platform. I have looked at about a billion other options and I have spent hours if not days reading through threads on this site. ZFS looks super interesting as does brtfs but in the end ReFS is not bad and it's improving and the stuff I touch at work is exclusively Windows.

My budget is ~$300. I was thinking 2*Optane (32GB M.2) and 2*3TB (HGST referb), in a SS mirror with the Optane drives set as Journal. Thoughts? I was also considering using some referb Intel SSD's in place of the Optane ones. I have a couple of the MyDigitalSSD PBX (NVMe) drives and they have been great, might consider a couple of the 120GB ones in place of the Optane drives.

If you have any helpful ideas or suggestions I would appreciate hearing them. Thanks.
 

Cutha

Member
Sep 24, 2016
75
7
8
50
Canada
I thought the Optane drives had higher endurance rating than they do. So much for 1000x the endurance of normal flash.
 

K D

Well-Known Member
Dec 24, 2016
1,439
320
83
30041
Why not have 2 "pools". One smaller one for write intensive downloads and once download completes, move it to a bigger complete folder which will be mostly read and can be on slower spinners?

I don't do torrents anymore but that's what I had earlier. An Intel 80GB ssd for downloads folder and complete folder in an Adaptec raid 5 array.
 
  • Like
Reactions: poto

sth

Active Member
Oct 29, 2015
379
91
28
Hi,

There are multiple torrent machines using the drives and previously I had issues with my torrent client throttling back because the drives couldn't keep up.
What internet connection bandwidth are you making use of, advice will likely be different depending if its a 1000mbps connection or a more typical residential connection.
 
  • Like
Reactions: K D

Cutha

Member
Sep 24, 2016
75
7
8
50
Canada
Why not have 2 "pools". One smaller one for write intensive downloads and once download completes, move it to a bigger complete folder which will be mostly read and can be on slower spinners?

I don't do torrents anymore but that's what I had earlier. An Intel 80GB ssd for downloads folder and complete folder in an Adaptec raid 5 array.
Some of the torrents are over 100GB so the downloading folder becomes large in a hurry.
 

Cutha

Member
Sep 24, 2016
75
7
8
50
Canada
What internet connection bandwidth are you making use of, advice will likely be different depending if its a 1000mbps connection or a more typical residential connection.
I have both cable and DSL. I just bumped my cable down from 250mbps => 150mbps so I could get unlimited data and my DSL line is ~150mbps as well. There is fibre in my city, just not in my area yet. Hopefully 1gbps isn't too far off. So, more typical than 1000mbps but not not very typical.
 

Cutha

Member
Sep 24, 2016
75
7
8
50
Canada
o_Oo_Oo_Oo_O

I'm not sure what this means...
Are you using torrents with a 10+ gbit/s link??
No. The message the client gave was something like "Disk Overloaded". I tried a bunch of different cache settings and it got better but during heavy use the message would rear its head. Perhaps you are thinking torrents download nice and sequentially? Most HDD have a 4k random write < 5MB/s.
 

T_Minus

Build. Break. Fix. Repeat
Feb 15, 2015
7,625
2,043
113
The Intel 710 has really terrible write endurance if I remember correctly. I would steer clear.
You aren't remembering correctly.

"What this means with the SSD 710 is that with over provisioning set at 20% on the 300GB drive, the SSD achieves 4KB write endurance of up to 1.5 petabytes."

Source: Intel SSD 710 Series Review (200GB) | StorageReview.com - Storage Reviews

Couldn't find the intel PDF, but the 100gb have .5 PB endurance too.

They're MLC so likely can handle much more than their rated endurance without issue too.
 
  • Like
Reactions: Patrick

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
Perhaps you are thinking torrents download nice and sequentially? Most HDD have a 4k random write < 5MB/s.
Most torrent clients should at least have the option of creating sparse files and batching writes from the RAM buffer which should reduce the amount of random IO considerably - in transmission for example, set cache-size-mb to 256 or so and preallocation to 1.

Aside from that, I assume you've verified that is is actual disc thrashing that's the cause here suing iotop or whatever equivalent? What client are you using and what cache options does it provide?
 
  • Like
Reactions: abq and mackle

sth

Active Member
Oct 29, 2015
379
91
28
from my old torrent box which had good peering, I saw a lot of cache hits (admittedly with ZFS based storage) with regards seeding latest Linux ISO's. I'd be surprised to see disks actually limit bittorrent performance in anything remotely sensibly configured for lots of network connections on a dual 150mbps connections.
The only modification which I thought was remotely interesting was to use 16KB block sizes which is aligned with what bittorrent uses to reduce overheads on disks etc.
 

mackle

Active Member
Nov 13, 2013
221
40
28
Im not totally sure if you’re downloading or seeding, what client you’re using, or whether you’re 150/150x2 or not, but I’ve pulled over 250mbps down sustained to a single usb Green drive. From memory I always gave the client plenty of ram to cache and then write out in big chunks, vs. lots of little pieces. Of course that depends on the client.

Currently hosting files on a NAS, and I have found every 1 mbps upload requires about 2mbps of files to come off the server, which I imagine would also be the case with a HDD/SSD.
 
  • Like
Reactions: T_Minus

Cutha

Member
Sep 24, 2016
75
7
8
50
Canada
Most torrent clients should at least have the option of creating sparse files and batching writes from the RAM buffer which should reduce the amount of random IO considerably - in transmission for example, set cache-size-mb to 256 or so and preallocation to 1.

Aside from that, I assume you've verified that is is actual disc thrashing that's the cause here suing iotop or whatever equivalent? What client are you using and what cache options does it provide?
When I was having the Disk Overloaded issue I was using uTorrent and it was with a HDD, might have been using a RE4 1.5TB. I don't remember how large I had the cache set, but I think it was at least 1gig becuase I bumped up the VM RAM just for it. I also set things like diskio.coalesce_write_size and with the tweaks it got better but it was still not great. I tried multiple versions of uTorrent with no luck.

I have tried several other clients including Deluge but I think I have settled on Transmission. I have been using it for about a month now and the gui is not my favorite but I may just write my own. It has been good so far and the only problem I have had was a crashing loop that was caused by stupid characters in a torrent file name.

What is the max cache size you have used with Transmission?

Im not totally sure if you’re downloading or seeding, what client you’re using, or whether you’re 150/150x2 or not, but I’ve pulled over 250mbps down sustained to a single usb Green drive. From memory I always gave the client plenty of ram to cache and then write out in big chunks, vs. lots of little pieces. Of course that depends on the client.

Currently hosting files on a NAS, and I have found every 1 mbps upload requires about 2mbps of files to come off the server, which I imagine would also be the case with a HDD/SSD.
If I was only downloading a few files it wouldn't be an issue. I am not new to torrents and the problem I had with Disk Overloaded is only a small portion of my experience. I no longer have that problem.

Anyway, I should have phrased the entire topic and my responses better. What I am looking for is the best way to have a few TB of space that can deal with a ton of random writes. And with that, last night when the screen was blurry and I couldn't see straight I managed to find 2 Intel S3700 200GB SSD's to act as a tier or journal. I should not be allowed on ebay when I am that tired, especially after visiting this site!
 

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,394
511
113
I have tried several other clients including Deluge but I think I have settled on Transmission. I have been using it for about a month now and the gui is not my favorite but I may just write my own. It has been good so far and the only problem I have had was a crashing loop that was caused by stupid characters in a torrent file name.
One of the nice things about transmission other than the low resource usage is its client/server model, so there are loads of third-party GUIs available. If you're using windows you might find this one nicer than the bundled one.

What is the max cache size you have used with Transmission?
I've tried it with up to 256MB, but in all honesty never needed any more than 32MB even when running on slow storage - but then I'm not using the same storage across dozens of users and/or torrents. All you really need in these scenarios is enough cache to batch up those random writes into sequential ones - although from a few quick googles it seems that utorrent doesn't handle this as well as it should. I run off some S3500s these days so the cache is only at 16MB I think.

What I am looking for is the best way to have a few TB of space that can deal with a ton of random writes. And with that, last night when the screen was blurry and I couldn't see straight I managed to find 2 Intel S3700 200GB SSD's to act as a tier or journal. I should not be allowed on ebay when I am that tired, especially after visiting this site!
Since you're on a relatively tight budget ($300 doesn't buy you much in the way of SSDs) I reckon your first step should be - assuming windows - set up a few quick perfmon traces to see what your actual IO load is like under various scenarios to see what sort of IO you're actually going to want to plan for. For example, back when I was running off a single hard drive most of the IO from my torrent dir came from random reads as the torrent seeded - the write IO at the start was mostly sequential thanks to the caching settings. But if you've bought some S3700's then you're probably going to have way more IO than you'll ever need...
 
  • Like
Reactions: mackle