Когда я запускаю TCP-сервер и клиент на одной машине, я наблюдаю, что время отправки клиентом (то есть timestampT1, send (), timestampT2; timestampT2 - timestampT1) значительно выше в хвостовых процентилях, чем если бы язапустить один и тот же сервер на другой машине.
При всех параметрах TCP, программных и машинных характеристиках, которые равны, если клиенту в среднем требуется 10 микросекунд и 20-25 микросекунд в 90-99-м процентиле на 1 миллион отправок, если сервер и клиент находятся на разных компьютерах, это занимает 10 мкс в среднем и 70-100 мкс в 90-99-м процентиле для сервера и клиента на одном компьютере.
Я попытался поиграть с межпроцессной изоляцией, размером буфера отправки сокетов и закреплением ЦП без существенных улучшений.Это RHEL 5.6.
Любое возможное объяснение этому?