Last updated October 31, 2026

Debrid Plex mount benchmarks

When Plex plays a debrid file, every start and every skip is a read on a mount. We timed those reads through StreamBridge and through Zurg with rclone, the usual do-it-yourself setup, and wrote down how, so you can check or repeat it.

First byte, median1.7 ms

Through StreamBridge. Zurg with rclone, cache full: 4.3 ms once it had opened the file, which first took 3,771 ms.

First 20 MB, median611 MB/s

Through StreamBridge, against 319 MB/s with the cache full and 0.2 MB/s with it off.

Repeat read, median1.7 to 2.2 ms

Through StreamBridge, against 10.6 to 52.0 ms with the cache full.

What we timed

Plex has no say in how a read is served, so the mount decides whether a film starts at once or after a pause. On one file we timed four things: how long until the first bytes arrive, how fast the first 20 MB reads, how long a read at a new position takes (a cold seek), and how long the same read takes the second time (a warm seek).

What each setup involves is in StreamBridge vs Zurg and how to set up Real-Debrid with Plex.

Results

StreamBridgeZurg + rclone, VFS cache fullZurg + rclone, VFS cache off

First 20 MB read

Median MB/s. Higher is faster.

StreamBridge
611 MB/s
Zurg + rclone, VFS cache full
319 MB/s
Zurg + rclone, VFS cache off
0.2 MB/s

First byte, first run

Milliseconds. Lower is faster.

StreamBridge
2.4 ms
Zurg + rclone, VFS cache full
3,771 ms
Zurg + rclone, VFS cache off
4,520 ms

Repeat read at a position already read

Median milliseconds across the five positions, shown as a range. Lower is faster.

StreamBridge
1.7 to 2.2 ms
Zurg + rclone, VFS cache full
10.6 to 52.0 ms
Zurg + rclone, VFS cache off
4,377 to 4,824 ms

First read at a new position

Median milliseconds across the five positions, shown as a range. Lower is faster.

StreamBridge
3,590 to 3,772 ms
Zurg + rclone, VFS cache full
2,294 to 3,640 ms
Zurg + rclone, VFS cache off
3,285 to 4,668 ms

Measured 2026-10-31 on Apple M1 Pro, 16 GB, macOS 27.2. Each cell is 7 runs on one 9.3 GB file, the same release on every mount; values are median / p90. No run reported a read error.

First byte and sequential read
MountFirst byte, first run (ms)First byte (ms)First 20 MB (MB/s)
StreamBridge2.41.7 / 43.8611 / 652
Zurg + rclone, VFS cache full3,7714.3 / 3,771319 / 421
Zurg + rclone, VFS cache off4,5203,419 / 4,6220.2 / 0.2
Seek latency for a 64 KB read, in milliseconds
MountPosition in fileColdWarm (repeat)
StreamBridge10%3,772 / 5,1762.2 / 3.3
StreamBridge30%3,695 / 9,5921.7 / 10.5
StreamBridge50%3,677 / 3,9241.7 / 4.4
StreamBridge70%3,590 / 4,4451.9 / 3.1
StreamBridge90%3,677 / 4,2842.1 / 5.1
Zurg + rclone, VFS cache full10%2,294 / 3,46914.8 / 102
Zurg + rclone, VFS cache full30%3,368 / 3,74313.0 / 64.3
Zurg + rclone, VFS cache full50%3,571 / 5,42210.6 / 77.3
Zurg + rclone, VFS cache full70%3,640 / 4,02452.0 / 68.9
Zurg + rclone, VFS cache full90%3,526 / 5,31911.5 / 74.0
Zurg + rclone, VFS cache off10%4,184 / 5,1854,694 / 5,085
Zurg + rclone, VFS cache off30%4,668 / 5,7574,555 / 5,050
Zurg + rclone, VFS cache off50%3,285 / 5,7814,377 / 5,024
Zurg + rclone, VFS cache off70%4,232 / 4,6534,824 / 5,443
Zurg + rclone, VFS cache off90%4,542 / 6,0234,806 / 6,054

Not yet measured: Plex library scan time, and time to read 4 MB after a seek (that pass was stopped when the debrid CDN began dropping connections).

What the numbers say

  • Starting a file. A median of 1.7 ms from opening the file to its first 64 KB through StreamBridge. The first open through Zurg + rclone, VFS cache full took 3,771 ms, and a median of 3,419 ms through Zurg + rclone, VFS cache off.

  • Reading ahead. The first 20 MB came in at a median of 611 MB/s through StreamBridge, 319 MB/s through Zurg + rclone, VFS cache full and 0.2 MB/s through Zurg + rclone, VFS cache off.

  • Skipping back. Reading a spot the file had just served took a median of 1.7 to 2.2 ms through StreamBridge and 10.6 to 52.0 ms through Zurg + rclone, VFS cache full. Through Zurg + rclone, VFS cache off, which keeps no cache, it took 4,377 to 4,824 ms.

  • Skipping ahead. A spot nobody had read yet took a median of 3,590 to 3,772 ms through StreamBridge and 2,294 to 3,640 ms through Zurg + rclone, VFS cache full, which had the lower median at 4 of 5 positions. Both wait on the same debrid CDN, and that wait sets the time.

How we measured

The three mounts. One Real-Debrid file, the same release and byte size each time:

  • StreamBridge, through the library folder it gives Plex, after the preparation the app gives every new title.

  • Zurg with rclone, VFS cache full: Zurg v1.0.0 serving the debrid library over WebDAV, and rclone v1.75.2 serving that over NFS with --vfs-cache-mode full.

  • Zurg with rclone, VFS cache off: the same, with --vfs-cache-mode off.

rclone serves NFS because a FUSE mount on a Mac needs a kernel extension. Zurg and rclone ran in Linux containers under Apple's container tool, which adds a virtual network hop of under a millisecond. Both rclone mounts used identical settings.

The tool. A small command-line program we wrote. It opens the file with the macOS page cache bypassed, so it times the mount and not memory.

One run. Open the file and read the first 64 KB (first byte). Read the first 20 MB in 1 MiB reads (throughput). Then, at 10, 30, 50, 70 and 90 percent of the file, read 64 KB at a position that run has not touched (cold) and read it again straight away (warm). Positions start from a random offset on every invocation and step by a fixed amount between runs, so no earlier read can have warmed the next.

Statistics. 7 runs per cell, reported as the median and the 90th percentile (nearest rank). The first run's first-byte time is shown on its own, because later runs can use caches the first one fills.

The rclone and Zurg setup:

zurg (config: enable_repair false, delete_error_torrents false)
rclone serve nfs zurg: --addr :2049 --read-only \
  --vfs-cache-mode full|off --vfs-cache-max-size 20G \
  --dir-cache-time 10s --vfs-read-chunk-size 16M

Hardware. Apple M1 Pro, 16 GB, macOS 27.2, a 9.3 GB file. We didn't record the network connection, so the cold-seek figures belong to that connection and that hour.

What this doesn't show

  • One Mac, one file, one debrid provider, one connection, one evening. The debrid CDN sets cold-seek time and varies by place and hour, so rerun it before you rely on it.

  • StreamBridge keeps a small part of each title on your Mac (see how it works), which explains its short first-byte times. A title it hasn't prepared starts slower.

  • The harness times reads, not the moment a video frame appears, and it doesn't time a Plex library scan.

  • A second pass, reading 4 MB after each seek, was stopped when the debrid CDN began dropping connections, so it isn't reported.

  • Observed but not measured: while we were setting up, listing the whole debrid library through rclone's NFS server hung until we forced the mount off.