В общем случае 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 будет намного быстрее?

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 mint 17
  • Как найти, какие другие компьютеры подключены к локальной сети
  • Определить шлюз и другую информацию без IP-адреса
  • Как я могу подключить эти два компьютера, используя eth1394 / firewire-net, автоматически?
  • Что означают цвета в iptstate?
  • Как интерпретировать результаты iperf3?
  • Как получить список портов, которые бесплатны на сервере Unix
  • Доступ к другому компьютеру в сети
  • nmap не удалось определить маршрут
  • Почему, когда и где используется phy
  • Какую книгу этих двух я должен прочитать для изучения сетей для администратора Unix / Linux?
  • Linux и Unix - лучшая ОС в мире.