Интересно, а никто не знает, как понять источник сетевой задержки?
Прикол следующий: вот есть 2 компа, соединённые 10г сетью, напрямую, попа в попу. Замеряю производительность sockperf pp -m 4096 - получаю среднюю задержку 35 микросекунд. Дальше пишу сам на блокирующем i/o (read/write) тестовый сервер и тестовый клиент (ничего не делающие) - получаю чуть больше: для операций по 4096 байт примерно 43 микросекунды. Но ладно, в целом порядок тот же. А потом - беру своё поделие, которое по запросу фактически что-то пишет на диск - и задержка диска составляет примерно 30-40 микросекунд, но при этом сетевая задержка возрастает аж до 85-90 микросекунд! (т.е. суммарно операция начинает занимать ~130 микросекунд) И это реально происходит именно в момент, когда программа больше ничем не занята. То есть тупо с момента завершения sendmsg до момента получения события в epoll (следующего запроса от тестового клиента) проходит 90 микросекунд. ОТКУДА???
Latency матрицы коммутатора. Они очень бывают разными