В общем случае Linux «ping» будет быстрее, чем Windows «hrping»?

Я использую HP DL360p Gen8. Я установил двойную загрузку Windows Server 2008 R2 и RHEL7. В обеих системах я настроил LACP и VLAN. Таким образом, это тот же сервер, одно и то же оборудование, одна и та же сеть, одинаковые таблицы маршрутов и т. Д.

Я беспокоюсь о задержке, в том числе о задержках в сети, потому что я использую этот сервер для торговли HFT.

Теперь я ожидал, что если я буду пинговать один и тот же хост из Windows и Linux, то Linux должен быть немного лучше. Удивительно, но это не лучше. На самом деле это даже на ~ 5-10 микросекунд хуже, а затем Windows, когда я пинг на одном хосте.

  • Я использую hrping в Windows и ping в Linux
  • в Windows я использовал утилиту HP для совместной работы, в RHEL 7 я использовал встроенный «teaming» (не связанный)

Я ожидал, что Linux будет лучше, потому что:

  • я предполагаю, что реализация RHEL 7 быстрее, чем Windows Server 2008 R2
  • я предполагаю, что реализация RHEL 7 teaming / LACP / VLAN выполняется быстрее, чем Windows Server 2008 R2 / HP one

Мои вопросы:

  1. если такое число существует: сколько микросекунд быстрее пинг от RHEL 7, чем Windows Server 2008 R2?
  2. если это указывает на потенциальную проблему, что Linux ping на 5-10 микросекунд медленнее, или я должен просто игнорировать этот факт?
  3. что я могу сделать / диагностировать / устранять неполадки, чтобы сделать Linux ping быстрее, чем Windows

Конечно, в реальной жизни я больше забочусь о задержке реального трафика, например TCP / UDP, но я использую ping как первый шаг. Возможно, ping показывают одинаковые номера, потому что это «простой», но на реальном TCP / UDP-трафике Linux будет намного быстрее?

  • Как найти, какие другие компьютеры подключены к локальной сети
  • Откройте для себя клиентов, подключенных к сети
  • Что означает этот вывод netcat?
  • проблема с конфигурацией интерфейса соединения с сервером
  • Debian, две сетевые карты - «нет маршрута для размещения» на eth1
  • Что означает eno1 и lo
  • Сетевой адаптер забыл адрес?
  • Каков маршрут внутри локальной сети?
  • One Solution collect form web for “В общем случае Linux «ping» будет быстрее, чем Windows «hrping»?”

    Существует ряд факторов. Сначала это машина, на которой вы работаете. Если окна и Linux были на другом оборудовании, измерение не имеет смысла.

    Конечно, вы должны измерить средний пинг после многих попыток, первые несколько писем могут включать в себя другие задержки.

    Пакеты должны пройти через ядро ​​(ip-стек и драйвер сетевого устройства), а затем снова, когда ответ получен. На этом этапе может быть много факторов, которые влияют на разницу:

    1. что на самом деле синхронизировано: две разные реализации ping могут делать более или менее работу шаблона между запуском таймера и фактической отправкой вещи (и то же самое на пути приема).
    2. наличие o фильтры: брандмауэры и т. д., могут вводить дополнительные шаги
    3. зернистость часов: насколько точно процессы мультиплексируются ядром? Даже среди разных уровней linux длина тика может сильно различаться, или ядро ​​может быть более или менее тиковым (работает без перерывов, если работает только один процесс).
    4. управление процессами: как быстро и каким образом процесс пробуждается, когда пакет возвращается? Windows и Linux делают это совершенно по-разному.
    5. Что делает остальная часть системы? Происходит ли тяжелое IO в то же время, что сделает ядро ​​занятым? Есть ли какие-то изменения, если вам nice пинг на более высокий приоритет?
    6. Масштабирование по частоте: управление частотой процессора может сильно различаться: у Linux есть много «губернаторов», которые делают все по-другому. Таким образом, возможно, что linux работает на более низкой тактовой частоте в режиме ожидания – также момент переключения частоты имеет дополнительную задержку.
    7. Реализация и компиляция утилиты ping также могут иметь некоторые незначительные эффекты (хотя вложенность в ядре, вероятно, является главным вкладом).

    Ядро Linux, как известно, превзошло пропускную способность сети на уровне 10 гигабит . Поэтому … это не должно иметь большого значения на микросекундных скоростях. Скорее всего, это вопрос планирования, задержки ОС и так далее. И латентность пинга не отражает фактическую производительность при нагрузке. Вы не должны воспринимать это измерение как фактор, когда вы решаете что-либо. Вам нужно много других ориентиров, особенно при реалистичных нагрузках.

    И, наконец, настройки ядра Linux могут существенно повлиять на производительность. Для проектов реального времени требуется выделенное ядро ​​для работы на оптимальном уровне. Вы найдете больше вариантов между различными конфигурациями (на обеих платформах), чем вы обнаружили в этих двух попытках.

    Linux и Unix - лучшая ОС в мире.