I really appreciate your guidance, and it's great to know it's just me ;-) because pfsense is really sharp!
To respond to your probing questions:
Nope, no loops, 1 switch in the test config, other than pfsense all test machines have single nics.
Traffic shaper is off.
If i re-cable everything with no config changes onto my Cisco 2900 10/100 switches…the issue goes away and the pfsense interfaces still negotiate to 100, full duplex. Changing gigabit switches from Dell to SMC made no difference.
The cables are the same, for all testing. So yes, it's possible that there's something in there to review.
The proftpd config has no throttling at all, it's a minmal proftpd.conf.
Our configs appear to be slightly different though: you've gigabit on the pfsense platform and (maybe 10/100??? elsewhere...the simple switches???) whereas i have gigabit switches and 10/100 on the pfsense platform.
My hardware platform is Dell GX150's with an onboard 3COM nic (i think), and 2x pci nics.
It is possible that i have been unlucky and hit two nic vendors with issues, though i think it's a 3COM onboard the Dell GX150, and the two pci nics are ASX 88814 (or something along those lines).
Though I've GX240s to try next with intel pci 10/100 nics, i'll let you know how it goes.
I appreciate the help, thanks.
pmk.