Skip to main content

IT - How I Supercharged BiglyBT Disk I/O on Windows Using Cygwin, smartctl, StableBit DrivePool, and an LSI Controller

How I Supercharged BiglyBT Disk I/O on Windows Using Cygwin, smartctl, StableBit DrivePool, and an LSI Controller

⚡ Part 1: The Breakthrough – Unlocking Hidden I/O Throughput

BiglyBT is a powerful BitTorrent client, but out-of-the-box, it’s optimized for compatibility and not for high-performance environments. I discovered this the hard way after spending weeks wondering why my disk performance was severely lagging, despite having an overkill hardware setup.

🛠️ My Initial Setup

  • OS: Windows 10 Pro (2009, Build 26100.1)
  • CPU: Intel Core i7-10700K (8 Cores, 16 Threads @ 3.8GHz)
  • RAM: 128GB DDR4
  • Storage: 20+ SATA HDDs (Toshiba MG09, Seagate Exos, HGST), 2 SSDs (NVMe)
  • Controllers: Onboard SATA & LSI 9300-16i (SAS3, PCIe Gen3 x8)
  • Software: Cygwin (dd, smartctl), StableBit DrivePool, BiglyBT 3.8.0.2 (Java 8)

💡 The Problem

I use drive F: as my processing area and P: (a StableBit DrivePool volume) as the seeding/archive pool. Using dd, the disks showed great performance:

$ dd if=/dev/zero of="/cygdrive/p/testfile.bin" bs=1M count=1024 conv=fdatasync
1.0 GiB copied, 5.1 s, 209 MB/s

$ dd if=/dev/zero of="/cygdrive/f/testfile.bin" bs=1M count=1024 conv=fdatasync
1.0 GiB copied, 15.5 s, 69.3 MB/s

Yet BiglyBT took over 30 minutes to move a 2GB file between those drives.

🎯 The Fix

Inside BiglyBT, navigate to:

Tools ➝ Options ➝ Advanced ➝ disk.io.max.disk.read.queue.requests
Tools ➝ Options ➝ Advanced ➝ disk.io.max.disk.write.queue.requests

Change both values to 128.

Result: Transfers jumped from under 10 MB/s to 100+ MB/s instantly. BiglyBT was finally utilizing the available hardware I/O bandwidth!


🔧 Part 2: Advanced Architecture, Diagnostics, and Controller Tuning

💽 Cygwin + smartmontools = Pro-Level Diagnostics

$ for dev in /dev/sd[a-z]; do
  if smartctl -i "$dev" | grep -q "SMART support is: Enabled"; then
    echo "Device: $dev"
    smartctl -a "$dev" | grep -E "Device Model|Serial Number|Power_On_Hours|Temperature_Celsius"
    echo
  fi
done

Using this, I found drives with poor cooling, cable errors, and even a failing SATA port. One drive was propped with a folded paper to keep the SATA tab connected.

🚀 Why the LSI Controller Changes Everything

  • ✅ Direct PCIe Gen3 bandwidth (x8 lanes)
  • ✅ Supports 16 drives via 4x SFF-8643 Mini-SAS
  • ✅ Native support for queued commands, unlike USB
  • ✅ Proper SMART passthrough via StorPort

📚 Related Tools


🤖 Part 3: Automation, Monitoring, and Predictive Health

🧠 The Goal

Now that the system runs smoothly, I wanted to add automatic health monitoring to catch future failures before they happen.

🔍 PowerShell + smartctl

I created a scheduled task that runs daily to scan SMART data and log important metrics:

smartctl -a /dev/sdX | findstr /R "Reallocated_Sector|Current_Pending|Offline_Uncorrectable"

📊 Logging Disk I/O

  • dd tests are run weekly
  • Results are stored in a CSV
  • Trendline generated via Excel or Python

🔔 Future Plans

  • Install smartd in Cygwin to automate threshold monitoring
  • Set up PowerShell to push alerts via Telegram
  • Visualize I/O via Grafana + InfluxDB

📈 Results Recap

  • File transfers went from 10 MB/s ➝ 150+ MB/s
  • Seeding performance remains consistent even with 50+ torrents
  • Zero instability since removing all USB enclosures

If you're running a torrent box with lots of storage, don’t underestimate the importance of disk queue tuning, controller choice, and low-level diagnostics. Your hardware deserves better than USB bottlenecks and default Java limits.


📬 Feel free to comment or reach out if you want help optimizing your own setup!

Comments

Popular posts from this blog

Movies - Deadpool & Wolverine (2024)

 

Movie - Trap (2024)

 

Movie - Some Like It Hot (1959)

  My views See other movies with: Marilyn Monroe Jack Lemmon Tony Curtis Plot In Prohibition-era  Chicago , Joe is a jazz  saxophone  player and an irresponsible, impulsive gambler and  ladies' man ; Jerry, his anxious friend, is a jazz  double bass  player. They work in a  speakeasy  owned by local Mafia boss "Spats" Colombo. Tipped off by informant "Toothpick" Charlie, the police raid the joint. Joe and Jerry escape, but later accidentally witness Spats and his henchmen gunning down Toothpick and his gang in revenge (an incident inspired by the  Saint Valentine's Day Massacre ). [ 7 ]  Spats and his gang see them as they flee. Broke, terrified, and desperate to leave Chicago, Joe and Jerry  disguise themselves as women  named Josephine and Daphne so they can join Sweet Sue and her Society Syncopators, an all-female band headed by train to  Miami . On the train, Joe and Jerry befriend Sugar Kane, the band's vocalist ...