Since all the clients are on the local network, you can try to enable "jumbo frames" (for this you need to run the netsh command), you will need to use Google for the exact command, but there are many instructions).
At the application level, you can use TransmitFile, which is the equivalent of the Windows sendfile and works fine in Windows Server 2003 (it is artificially limited with a restriction in the "non-server" section, but this will not be a problem for you). Please note that you can use a memory mapped file if you generate data on the fly.
As for the settings, an increase in the send buffer will most likely not do you any good, although an increase in the number of received buffers may help in some cases, since it reduces the likelihood of packets being deleted if the receiving application does not process incoming data quickly enough. A larger TCP window size (registry setting) may help, as it allows the sender to send more data before it needs to be blocked until the ACK arrives.
A nuclear quota for program working groups can cost attention, it costs nothing and can be an advantage, since the kernel needs to block pages when they are sent. If you are allowed to have more blocked pages, maybe something is faster (or maybe not, but that won't hurt either), by default it's still funny).
source share