Тестирование гигабитных сетевых адаптеров на платформе TYAN Trinity GC-SL

Часть вторая: 64bit PCI интерфейс


Подчасть 2: производительность адаптеров, загрузка процессора и PI

Результаты разбиты на два раздела. В первом сведены диаграммы усредненной максимальной скорости работы адаптеров, загрузки процессора в этот момент и индекса производительности PI. Во втором — исследование работы адаптеров, при изменении размера передаваемого блока данных на разных MTU (с помощью программы NetPIPE, Linux).

Во время тестирования снимался показатель усредненной максимальной пропускной способности адаптера за заданный период времени. И, если это позволяла программа, загрузка процессора в этот период. Но, так как по отдельности показатели пропускной способности адаптера и загрузки процессора противоположны по своим значениям (кому нужна скорость гигабит, если в этот момент процессор будет загружен на 100% ?), пришла мысль объединить эти два показателя в одной формуле.

Казалось бы, формула, отражающая оценку производительности карты, очевидна, — достаточно разделить скорость передачи на загруженность процессора, но все оказалось несколько сложнее. К примеру, пропускная способность карты не превышает 100Мбит (это на гигабитном-то адаптере!), а загрузка процессора, соответственно, невысокая — скажем, 5%. Путем простого деления получается, что такой гигабитный адаптер будет иметь очень высокий индекс, но такой показатель будет далек от реальности. Поэтому мы, совместно с Алексеем Кузнецовым, за что ему отдельное спасибо, ввели понятие «условного индекса» (Relative Index, RI) и полученные результаты умножили на соотношение реальной скорости передачи карты к пиковой.

Итого, индекс производительности (Perfomance Index, PI) рассчитывается следующим образом:

PI = T/C * T/1000, где

  • T — полученная в тесте максимальная скорость, в мегабитах
  • C — полученная в тесте загрузка процессора, в процентах
  • 1000 — максимальная теоретическая скорость адаптера, в мегабитах

В диаграммах произошли некоторые изменения (по сравнению с тестированием на 32х битной шине) — появились результаты на размерах Jumbo фреймах в 16 Кбайт. К сожалению, такие размеры поддерживали только адаптеры от Intel, поэтому в таких тестах фигурируют только они.

Результаты NTTTCP, Windows

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

максимальная скорость адаптеров при разном размере Jumbo-фреймов

загрузка процессора при тестировании адаптеров на разных размерах Jumbo-фреймов

индекс производительности адаптеров на разных размерах Jumbo-фреймов, наиболее показательная диаграмма для NTTTCP

Практически везде лидируют адаптеры от Intel. Но, что самое странное, адаптер на CSA шине обгоняет адаптер на PCI. Строго говоря, интегрированный адаптер на PCI шине показывает не очень высокие результаты, очень жаль, что в тесте не участвовали полноценные внешние решения от этой компании. Оба чипа не сильно загружают процессор, но если сравнивать их друг с другом, то видно, что CSA решение все же чуть сильнее грузит центральный процессор, чем чип, сидящей на PCI шине.

Адаптер от 3Com показывает высокие результаты лишь при размерах фреймов от 6000 байт, зато на меньших размерах у этой карты низкая загрузка процессора.

Остальные адаптеры идут примерно вровень, исключая CNET (на RTL8169), Hardlink и TRENDnet TEG-PCITX2 (старая модель) — у всех этих карт очень высокие требования к ресурсам процессора (они его сильно загружают). В общем, наиболее хорошо все это видно на сводной диаграмме Perfomance Index.

Результаты Iperf, Windows

Следующими идут результаты по производительности адаптеров под Iperf. К сожалению, программа не снимает загрузку процессора, поэтому диаграмм про загрузке процессора и PI-индеку нет.

максимальная скорость адаптеров при разном размере Jumbo-фреймов на Iperf

Результаты с небольшим превышением повторяют NTTTCP.

Результаты NetIQ Chariot, Windows

Тест позволяет снимать, как показатели пропускной способности адаптера, так и загрузку процессора в этот момент. Поэтому для данного теста приведены все три диаграммы, включая диаграмму по Perfomance Index.

максимальная скорость адаптеров при разном размере Jumbo-фреймов, NetIQ Chariot

загрузка процессора при тестировании адаптеров на разных размерах Jumbo-фреймов, NetIQ Chariot

индекс производительности адаптеров на разных размерах Jumbo-фреймов, наиболее показательная диаграмма для NetIQ Chariot

Результаты практически полностью повторяют предыдущие. Но в данном случае по минимальной загрузке процессора лидирует 3Com, что позволяет ей вырваться вперед в тесте на PI, несмотря на то, что ее производительность оказывается чуть ниже карт от SysKonnect.

При отключенных Jumbo кадрах наилучшие результаты по скорости показывают чипы от Intel. Обращаю внимание, что в тесте при 16К фреймах, они показывают результат даже ниже, чем при 9К Jumbo фреймах. По какой-то причине такие гигантские размеры Jumbo кадров уже становятся неэффектными.

Очень неплохо показывают себя карты от SysKonnect, особенно на кадрах 6К и выше — там они идут уже вровень с Intel, хотя и не обгоняют эти чипы.

Результаты NetIQ Chariot, Linux

В прошлогоднем тестировании, адаптеры в большинстве случаев показывали бОльшие скорости под Linux. В этот раз ситуация не изменилась — интересно, почему это происходит.

максимальная скорость адаптеров при разном размере Jumbo-фреймов, NetIQ Chariot

загрузка процессора при тестировании адаптеров на разных размерах Jumbo-фреймов, NetIQ Chariot

индекс производительности адаптеров на разных размерах Jumbo-фреймов, наиболее показательная диаграмма для NetIQ Chariot

Неожиданно провалились адаптеры от Intel. Они показывают, чуть ли не меньшую скорость, чем в Windows и стабильно отстают практически от всех карт.

А вот адаптер от CNET немного улучшил свою производительность и сильно снизил загрузку центрального процессора — значит, в случае Windows дело в драйверах. К сожалению, текущая версия драйвера под Linux не позволила включить Jumbo фреймы, поэтому можно наблюдать производительность чипа RTL8169 лишь на обычных размерах кадра.

Большинство остальных карт показывают стабильно высокие результаты производительности. Из большинства стоит исключить Hardlink и Zyxel — они чуть отстают (а на кадрах от 6К производительность Zyxel падает вообще катастрофически), Intel и CNET, а так же старую двухчиповую версию TRENDnet TEG-PCITX2.

А если сравнить производительность с загрузкой процессора, то тут лидируют 3Com, а так же, как не странно Intel — у последней, хоть и подкачала производительность (но не настолько, что бы просадить PI), зато загрузка процессора получилась очень низкой.

Результаты пиковой производительности в NetPIPE, Linux

Утилита NetPIPE гоняет трафик, постоянно увеличивая размер передаваемого пакета информации. Таким образом она позволяет узнать узкие места, где у адаптера могут случиться провалы производительности. В результате мы можем оценить пиковую скорость адаптера (обычно на больших размерах пакетов) и график изменения скорости на всем промежутке от пакетов минимального размера, до максимального.

пиковая скорость адаптеров при разном размере Jumbo-фреймов, NetPIPE

Картина практически аналогична Chariot — скорость большинства адаптеров останавливается на определенном пороге, который немного подрастает с увеличением размера MTU. Интересно, что мешает расти выше?

 

Навигация:

 




Дополнительно

Тестирование гигабитных сетевых адаптеров на платформе TYAN Trinity GC-SL. Часть вторая: 64bit PCI интерфейс

Тестирование гигабитных сетевых адаптеров на платформе TYAN Trinity GC-SL

Часть вторая: 64bit PCI интерфейс

Подчасть 2: производительность адаптеров, загрузка процессора и PI

Результаты разбиты на два раздела. В первом сведены диаграммы усредненной максимальной скорости работы адаптеров, загрузки процессора в этот момент и индекса производительности PI. Во втором — исследование работы адаптеров, при изменении размера передаваемого блока данных на разных MTU (с помощью программы NetPIPE, Linux).

Во время тестирования снимался показатель усредненной максимальной пропускной способности адаптера за заданный период времени. И, если это позволяла программа, загрузка процессора в этот период. Но, так как по отдельности показатели пропускной способности адаптера и загрузки процессора противоположны по своим значениям (кому нужна скорость гигабит, если в этот момент процессор будет загружен на 100% ?), пришла мысль объединить эти два показателя в одной формуле.

Казалось бы, формула, отражающая оценку производительности карты, очевидна, — достаточно разделить скорость передачи на загруженность процессора, но все оказалось несколько сложнее. К примеру, пропускная способность карты не превышает 100Мбит (это на гигабитном-то адаптере!), а загрузка процессора, соответственно, невысокая — скажем, 5%. Путем простого деления получается, что такой гигабитный адаптер будет иметь очень высокий индекс, но такой показатель будет далек от реальности. Поэтому мы, совместно с Алексеем Кузнецовым, за что ему отдельное спасибо, ввели понятие «условного индекса» (Relative Index, RI) и полученные результаты умножили на соотношение реальной скорости передачи карты к пиковой.

Итого, индекс производительности (Perfomance Index, PI) рассчитывается следующим образом:

PI = T/C * T/1000, где

  • T — полученная в тесте максимальная скорость, в мегабитах
  • C — полученная в тесте загрузка процессора, в процентах
  • 1000 — максимальная теоретическая скорость адаптера, в мегабитах

В диаграммах произошли некоторые изменения (по сравнению с тестированием на 32х битной шине) — появились результаты на размерах Jumbo фреймах в 16 Кбайт. К сожалению, такие размеры поддерживали только адаптеры от Intel, поэтому в таких тестах фигурируют только они.

Результаты NTTTCP, Windows

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

максимальная скорость адаптеров при разном размере Jumbo-фреймов

загрузка процессора при тестировании адаптеров на разных размерах Jumbo-фреймов

индекс производительности адаптеров на разных размерах Jumbo-фреймов, наиболее показательная диаграмма для NTTTCP

Практически везде лидируют адаптеры от Intel. Но, что самое странное, адаптер на CSA шине обгоняет адаптер на PCI. Строго говоря, интегрированный адаптер на PCI шине показывает не очень высокие результаты, очень жаль, что в тесте не участвовали полноценные внешние решения от этой компании. Оба чипа не сильно загружают процессор, но если сравнивать их друг с другом, то видно, что CSA решение все же чуть сильнее грузит центральный процессор, чем чип, сидящей на PCI шине.

Адаптер от 3Com показывает высокие результаты лишь при размерах фреймов от 6000 байт, зато на меньших размерах у этой карты низкая загрузка процессора.

Остальные адаптеры идут примерно вровень, исключая CNET (на RTL8169), Hardlink и TRENDnet TEG-PCITX2 (старая модель) — у всех этих карт очень высокие требования к ресурсам процессора (они его сильно загружают). В общем, наиболее хорошо все это видно на сводной диаграмме Perfomance Index.

Результаты Iperf, Windows

Следующими идут результаты по производительности адаптеров под Iperf. К сожалению, программа не снимает загрузку процессора, поэтому диаграмм про загрузке процессора и PI-индеку нет.

максимальная скорость адаптеров при разном размере Jumbo-фреймов на Iperf

Результаты с небольшим превышением повторяют NTTTCP.

Результаты NetIQ Chariot, Windows

Тест позволяет снимать, как показатели пропускной способности адаптера, так и загрузку процессора в этот момент. Поэтому для данного теста приведены все три диаграммы, включая диаграмму по Perfomance Index.

максимальная скорость адаптеров при разном размере Jumbo-фреймов, NetIQ Chariot

загрузка процессора при тестировании адаптеров на разных размерах Jumbo-фреймов, NetIQ Chariot

индекс производительности адаптеров на разных размерах Jumbo-фреймов, наиболее показательная диаграмма для NetIQ Chariot

Результаты практически полностью повторяют предыдущие. Но в данном случае по минимальной загрузке процессора лидирует 3Com, что позволяет ей вырваться вперед в тесте на PI, несмотря на то, что ее производительность оказывается чуть ниже карт от SysKonnect.

При отключенных Jumbo кадрах наилучшие результаты по скорости показывают чипы от Intel. Обращаю внимание, что в тесте при 16К фреймах, они показывают результат даже ниже, чем при 9К Jumbo фреймах. По какой-то причине такие гигантские размеры Jumbo кадров уже становятся неэффектными.

Очень неплохо показывают себя карты от SysKonnect, особенно на кадрах 6К и выше — там они идут уже вровень с Intel, хотя и не обгоняют эти чипы.

Результаты NetIQ Chariot, Linux

В прошлогоднем тестировании, адаптеры в большинстве случаев показывали бОльшие скорости под Linux. В этот раз ситуация не изменилась — интересно, почему это происходит.

максимальная скорость адаптеров при разном размере Jumbo-фреймов, NetIQ Chariot

загрузка процессора при тестировании адаптеров на разных размерах Jumbo-фреймов, NetIQ Chariot

индекс производительности адаптеров на разных размерах Jumbo-фреймов, наиболее показательная диаграмма для NetIQ Chariot

Неожиданно провалились адаптеры от Intel. Они показывают, чуть ли не меньшую скорость, чем в Windows и стабильно отстают практически от всех карт.

А вот адаптер от CNET немного улучшил свою производительность и сильно снизил загрузку центрального процессора — значит, в случае Windows дело в драйверах. К сожалению, текущая версия драйвера под Linux не позволила включить Jumbo фреймы, поэтому можно наблюдать производительность чипа RTL8169 лишь на обычных размерах кадра.

Большинство остальных карт показывают стабильно высокие результаты производительности. Из большинства стоит исключить Hardlink и Zyxel — они чуть отстают (а на кадрах от 6К производительность Zyxel падает вообще катастрофически), Intel и CNET, а так же старую двухчиповую версию TRENDnet TEG-PCITX2.

А если сравнить производительность с загрузкой процессора, то тут лидируют 3Com, а так же, как не странно Intel — у последней, хоть и подкачала производительность (но не настолько, что бы просадить PI), зато загрузка процессора получилась очень низкой.

Результаты пиковой производительности в NetPIPE, Linux

Утилита NetPIPE гоняет трафик, постоянно увеличивая размер передаваемого пакета информации. Таким образом она позволяет узнать узкие места, где у адаптера могут случиться провалы производительности. В результате мы можем оценить пиковую скорость адаптера (обычно на больших размерах пакетов) и график изменения скорости на всем промежутке от пакетов минимального размера, до максимального.

пиковая скорость адаптеров при разном размере Jumbo-фреймов, NetPIPE

Картина практически аналогична Chariot — скорость большинства адаптеров останавливается на определенном пороге, который немного подрастает с увеличением размера MTU. Интересно, что мешает расти выше?

 

Навигация: