Low-level network offers (s / w and h / w)

I am interested in the various methods / tips / tricks / silver stamps that SO'ers use when researching network latency problems and the various solutions and optimizations that are included.

I am looking for solutions that can be applied to both software and hardware.

For example:

  • Socket Buffer Sizing
  • Use the optimal OS option for the reactor template (the choice is not always the best option)
  • Using extreme end network adapters such as the Bigfoot Killer 2100
  • Keep network cables as short as possible; do not bundle network cables together.
  • When copying a large amount of data between two points, consider delays in both ends and use several socket connections to completely saturate the link.

What are some other suggestions?

+7
language-agnostic low-latency networking
source share
2 answers

Here are a few things that have helped me speed things up or increase my bandwidth over the last 10 years or so ...

1) Disable the Nagle algorithm when your nodes are physically close to each other on a quick link, and the data in the packet is no less than the overhead of a TCP packet. MS made an article about it . An example is the example when you have satellite communications in your link and the packet takes 800 milliseconds one way due to distances. In this case, the Nagle is a good thing.

2) Make sure the MTU size is set correctly for your link and your machine to avoid fragmentation issues.

3) If you are on Windows and outgoing packets are small and latency is high, you should also set the SO_SNDBUF socket option to 0 to avoid transmission delays.

+2
source share

This is not always possible, but if you can insert the locally cached servers closer to the destination, which can help.

0
source share

All Articles