How does this work? If node sees TFO support in kernel, does it report to the satellite and the clients (+ satellite audits) tries to use it? Or when the client sees TFO support on server (node) socket, it tries to use it?
Looks like TCP fastopen support for Windows will get implemented with this ticket: Windows support for TCP Fast Open · Issue #5990 · storj/storj · GitHub
Have we seen any palpable network performance improvement since this started being enabled in nodes?
Do you have any way of telling what proportion of nodes have enabled it?
Just curious
It looks like TCP fastopen is already being utilized. Looking forward for test results.
# netstat -s | grep FastOpen
TCPFastOpenActiveFail: 1192
TCPFastOpenPassive: 328989
TCPFastOpenPassiveFail: 18
TCPFastOpenCookieReqd: 1555
On Synology I only see:
$ netstat -s | grep TCPFastOpen
TCPFastOpenCookieReqd: 2710244
Which I guess was to be expected since we can’t enable the docker option on our systems.
On my Synology i got only:
netstat -s | grep TCPFastOpen
TCPFastOpenPassive: 365
on ubuntu - that command doesn’t show anything
How can i get something like this to show for Ubuntu do you know?
If it shows nothing then it’s because you’re not getting FastOpen connections.
on ubuntu i don’t get either.
fast open is enabled in sysctl and docker: “2023-07-04T11:06:17.733Z INFO server existing kernel support for server-side tcp fast open detected {“process”: “storagenode”}”
Seems your node doesn’t have customers who attempting to use a Fastopen, or your router/ISP drops them…
can it somehow understand on my windows GUI that my fastopen is working and router not droping it?
I do not know, for honestly how to check this on Windows…
netstat -s | sls fast
doesn’t gives me any stat. So, I assume it’s not supported under Windows for now.
Is there a way to test or fix this if its the router?
Does TrueNAS Scale + Docker supports TCP fastopen?
Is this planned/on the roadmap/tracked in some way? I understand it’s a low priority.
Can Storj add some info to the logs that we understand that FastOpen is working or not. I am on Windows and no one know how to check, does my fastopen work or not, or my router filtering it for example. I have Mikrotik router, sometimes i think it makes over filtering.
Only if your router has such configuration option.
Both Windows and FreeBSD are not yet supported options for the storage node side of TCP FASTOPEN but hopefully we get to it soon. If someone is handy with code and wants to pitch in, this is the file that needs filling in for Windows: https://github.com/storj/storj/blob/4ee647a951d01c8f0b8af268eaa8ea1a0a9bed4d/private/server/fastopen_windows.go
We need a similar one for FreeBSD (right now it’s just picked up with “other”): https://github.com/storj/storj/blob/4ee647a951d01c8f0b8af268eaa8ea1a0a9bed4d/private/server/fastopen_other.go
Here is the Linux one for reference: https://github.com/storj/storj/blob/4ee647a951d01c8f0b8af268eaa8ea1a0a9bed4d/private/server/fastopen_linux.go
Looking at https://github.com/storj/storj/blob/4ee647a951d01c8f0b8af268eaa8ea1a0a9bed4d/private/server/fastopen_windows.go again, perhaps Windows support is mostly done? Maybe tryInitFastOpen just needs to return true. Worth testing!
Thats why windows node loosing so much rases today.