Close

[SOLVED] A painfully slow LAN on Windows and a wasted weekend.

A project log for Driverless Rigol DS1054Z screen capture over LAN

Capture the display of a Rigol DS1000Z series oscilloscope by LAN only, using LXI SCPI commands. No USB, no VISA, no IVI and no Rigol drivers required

RoGeorgeRoGeorge 06/01/2015 at 23:090 Comments

Problem: LAN speed for TCP is more then 100 times slower then expected. Why?

Because Windows implemented it's own "smart" algorithms instead of following RFCs. I found out (the hard way) that starting from Vista, the TCP regulations were disregarded by Microsoft, resulting in unpredictable side effects like speed limitations for high speed Internet, or total collapse of the transfer speed, like in this case.

Long story short, what slow down the transfer between the oscilloscope and the PC is a Microsoft algorithm that alter RWIN (TCP Receive WINdow) size in a "masonic" way, with heuristic algorithms that override network settings, and no way to really tweak the parameter.

Sollution: Use Linux.

I will post some benchmarks after cleaning the Python code.

.

LATER EDIT: It has been passed a year and a half, and now I couldn't reproduce the slow transfer any more. WireShark shows now the transfer time for the first 250 000 bytes is basically the same:

Debian80
transfer time = 0.066444

win10
transfer time = 0.067693

Discussions