Высокоскоростные сетевые карты не так уж и быстры?
 

Быстрые сетевые карты: что вас сдерживает?

Один из "выученных нами уроков" при тестировании высокоскоростных сетевых карт (>10 Мбит/с) состоит в том, что вы не всегда получаете желаемое, то есть высокую скорость работы сети. При использовании продуктов типа 100 Мбит/с сетевых карт или новых 802.11a сетевых адаптеров начинают действовать факторы, которые не принимались во внимание при меньших скоростях.

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

Оборудование

Нашей стандартной тестовой платформой для беспроводных карт является Compaq Presario 1650. Старый добрый компьютер оснащен 266 МГц Pentium II процессором с 96 Мб (это предел, к сожалению) оперативной памяти. В данное время на компьютере установлена WinXP Home (кстати, удачно установилась), с параллельной загрузкой в Win98SE. Компьютер не имеет встроенного Ethernet адаптера, но благодаря Linksys у нас есть PCM200 10/100 CardBus Ethernet карта. PCM200 имеет 32-битный CardBus интерфейс, который необходим, если вы желаете использовать всю пропускную способность 100BaseT соединения.

Следующим важным элементом нашего тестирования является NetIQ Chariot, программа по тестированию производительности сети. И хотя она обладает чрезмерно богатыми для нас возможностями, Chariot может осуществлять тесты в течение длительного времени, что позволяет более эффективно измерять объем и скорость пересылаемых данных, а также программа снабжена хорошими инструментами по сравнению, позволяющими выводить результаты тестов как графическом, так и в числовом форматах. При этом программа снабжена средствами простейшего статистического анализа.

"Партнером" для всех тестов в этой статье выступал Compaq Deskpro (733 МГц Pentium III, 319 Мб RAM, Win98SE) с адаптером Accton 1207D PCI. Оба адаптера были установлены в режим автосогласования скорости соединения, все остальные настройки - по умолчанию. Компьютеры подключались через 10/100 коммутатор к маршрутизатору SMC7008 Barricade.

Передача? Прием? А в чем разница?

Как вы предполагаете, ваша сеть работает одинаково, когда ваш компьютер посылает или принимает данные, не так ли? Если подобное утверждение верно для сетей на скорости 10 Мбит/с, оно часто не выполняется для 100BaseT LAN. Посмотрите на первую иллюстрацию Chariot ниже.

Рис. 1: Ноутбук Compaq - Прием и Передача
Рис. 1: Ноутбук Compaq - Прием и Передача

Рис. 1 показывает одноминутный тест между ноутбуком Compaq и настольным компьютером Deskpro. На нем явно видно, что средняя пропускная способность приема на ноутбуке почти в два раза превышает пропускную способность передачи. С другой стороны, производительность ноутбука при приеме данных подвержена значительным колебаниям, причем максимальная скорость 84 Мбит/с более чем в три раза превышает минимальную!

В исследовании возможных причин нашей проблемы мы обнаружили многочисленные жалобы (пример), касающиеся асимметричности сетевой производительности под Windows. Наиболее часто причинами подобных проблем являются разнообразные программы по оптимизации производительности, которые используют люди для увеличения скорости их кабельного или DSL подключения. Некоторые пользователи смогли решить описанную проблему путем удаления этих программ, другие так и не получили желанного результата при переходе к настройкам Windows по умолчанию.

Помощь Chariot рекомендует изменить окно приема TCP (Receive Window) (через реестр) для отладки производительности. Но поскольку мы желаем тестировать наши продукты при равных условиях, мы оставим редактирование реестра для кого-нибудь другого. Если вы желаете поэкспериментировать, вы можете почитать информацию на SpeedGuide.net, этот сайт наиболее полно освещает указанную проблему. Но помните - вы поступаете на свой страх и риск.

Время потратить деньги...

Чтобы протестировать, изменит ли переход на ноутбук с более современным дизайном данную аномалию, мы взяли Dell Insprion 4100 c 1 ГГц Celeron CPU, 128 Мб RAM, работающий под управлением WinXP Home. Рис. 2 показывает тот же самый тест, что на Рис. 1, но в этот раз вместо ноутбука Compaq был подключен ноутбук Dell. Здесь мы вновь наблюдаем дисбаланс приема/передачи, но в этот раз процентная разница меньше, а средняя скорость - существенно выше. Также интересно отметить, что тест приема дает меньшие вариации. Учитывайте, в ноутбуке Dell мы использовали адаптер Linksys, хотя там есть и встроенная 10/100 сетевая карта.

Рис 2: Ноутбук Dell laptop - прием против передачи
Рис 2: Ноутбук Dell laptop - прием против передачи.

Чтобы посмотреть на зависимость пропускной способности от скорости процессора, мы запустили тесты между тремя парами компьютеров.
  • "dell" - описанный выше ноутбук (1 ГГц Celeron);
  • "pat" - Compaq Presario 5451 c 500 МГц AMD-K6-2, 256 Мб RAM, Win98SE и Netgear FA310TX PCI Fast Ethernet адаптером;
  • "rat" - описанный выше Compaq Deskpro (733 МГц Pentium III).
Результаты на Рис. 3 демонстрируют, что связка 500 МГц и 733 МГц компьютеров дают минимальную производительность. Затем следует 500 и 1 ГГц пара, а лучшую производительность дает связка 733 МГц и 1 ГГц машин. И хотя довольно удивительно, что для получения пропускной способности выше 50 Мбит/с вам потребуются два компьютера с частотой выше 500 МГц, мы не можем гарантировать выполнение этого правила в других условиях, учитывая погрешности эксперимента. Но одна вещь очевидна: чем быстрее, тем лучше!

Рис 3: Ноутбук Dell - Прием и Передача
Plot 3: Рис 3: Ноутбук Dell - Прием и Передача.

Важна ли ОС?

Поскольку Win98SE и WinXP очень сильно отличаются друг от друга и используют различные стеки TCP/IP, мы проверили, к чем приведет переход на другую ОС. Рис. 4 показывает результаты при запуске тестов передачи и приема при использовании ноутбука Compaq под WinXP Home, а затем под Win98SE. Вы можете увидеть 10% прирост в производительности передачи под XP, но производительность приема примерно одинакова в обеих ОС, включая вариации результата.

Рис. 4: WinXP vs. Win98SE.
Рис. 4: WinXP vs. Win98SE.

Различие адатеров

Поскольку Dell оснащен встроенным Ethernet адаптером (контроллер 3Com 3C920 Fast Ethernet - совместим с 3C905C-TX), мы попытались сравнить его производительность с адаптером Linksys PCM200. Рис. 5 и 6 показывают очень небольшую разницу между двумя адаптерами. Хотя будет ошибочным утверждать, что среди CardBus Ethernet контроллеров вообще нет никакой разницы. Как мы считаем, вы должны выбирать только CardBus адаптеры для вашего ноутбука (если он уже не оснащен встроенным), конечно, если вам нужна скорость 100BaseT.

Рис. 5: Linksys vs 3Com Ethernet - прием.
Рис. 5: Linksys vs 3Com Ethernet - прием.

Рис. 6: Linksys vs 3Com Ethernet - передача.
Рис. 6: Linksys vs 3Com Ethernet - передача.

Заключение

Получается, что если вы желаете выжать максимум из своей сети, то есть скорости выше 10 Мбит/с, вам лучше иметь современный компьютер. Наши эксперименты показали, что для получения 50 Мбит/с пропускной способности сети или выше необходимо использовать два компьютера с частотой процессора выше 733 МГц как для приема, так и для передачи.

Если вы используете ноутбук с адаптером Ethernet, задействуйте либо встроенный 10/100 Ethernet адаптер, либо убедитесь, что ваш адаптер имеет CardBus интерфейс. PC Card адаптеры могут стоить дешевле, но их 16-битный интерфейс ограничит пропускную способность сетевой карты.

И хотя наши эксперименты производились с адаптерами Ethernet, другое тестирование, в котором использовались 802.11a беспроводные адаптеры демонстрирует подобные отношения между скоростью процессора и пропускной способностью. Так что если вы желаете выжать максимум из сети 802.11a, лучше не используйте для этого ноутбуки за $500, купленные на распродажах.