Server Version#: 1.22.2.4262 (Ubuntu server)
Player Version#: 4.51.3
If I have my external USB hard drive (WD passport 4tb) connected to my Gateway NV55c laptop (USB 2.0 with CPU Intel P6100 2GHz) Plex works fine and as expected. If I connect the external drive to my router (asus RT-AC87) it stutters like crazy and is slow overall. I have watched the network statistics and it uses 1-2MB/s when streaming with the drive connected to the router. When I copy a large file between the external drive on the router and laptop it runs ~65MB/s. The router CPU and RAM are not under significant load either. I am watching on a PC also connected to the same router with gigabit ethernet. I don’t understand why the performance is so poor with the drive connected to the router when the statistics indicate minimal usage. The laptop CPU shouldn’t be under that much higher load should it? Everything is gigabit and again the network statistics are minimal at best. I can keep the drive connected to the laptop if I have to, but would prefer not to. Thanks.
The time required to complete a local HD i/o request is measured in milliseconds.
The time required to reach out over the net, then command and retrieve over USB, returning the data will take considerably longer.
You see bulk transfers achieving speed because they build up a send queue and receive ‘ack’ (acknowleged) to let them know the send and write was OK.
PMS reads small sets of blocks from the file as needed.
The fixed overhead of each “request-response” is much more visible in an on-demand environment (transcoding) than it is in a bulk transfer where multiple writes (or reads) were queued before the first indication of transfer was ever reported.
Thanks for the response. It seems that using NAS would not be possible if this were the case though? Also there seem to be several threads that mention using router hdd’s is possible.
Thanks. The statistics as mentioned in the first post, as well as other threads about this kind of situation seem to indicate it is possible. Is there any way to make the plex server take a bigger portion of the file (PMS reads small sets of blocks from the file as needed.)?
It is connected via USB 3 to the router (and USB 2 when connected directly to the laptop/plex server.)
PMS requests the same amount of data each read whether local or remote.
How that request is processed and is delivered to the remote storage is entirely dependent on the network file sharing protocol and block sizes negotiated.
Default SMB requests 4MB/read.
The USB interface is going to break the read request into blocks of 4096 bytes (a disk block of 8 sectors) and process them in sequence.
It will then assemble the output buffer and hand off to the file sharing agent in the router.
It will send back that block just read in packets of 1500 bytes each (streaming). This is standard and very efficient.
Thanks, unfortunately it doesn’t work for me.
I will just use it with the drive directly connected to the laptop unless there is some other trick to attempt.
It doesn’t work for most and definitely wouldn’t work for me.
That’s why I went and got the NAS boxes. Yes it was a big investment but I’m sitting here and reading 100 MB/sec on the slowest of them and 1GB/sec from the main.