Введение
Я не очень торопился перевести свою домашнюю сеть со скорости 100 Мбит/с на 1 Гбит/с, что для меня довольно странно, поскольку я передаю по сети большое количество файлов. Однако когда я трачу деньги на апгрейд компьютера или инфраструктуры, я считаю, что должен сразу же получить прирост производительности в приложениях и играх, которые я запускаю. Многие пользователи любят потешить себя новой видеокартой, центральным процессором и каким-нибудь гаджетом. Однако по каким-то причинам сетевое оборудование не привлекает такого энтузиазма. Действительно, сложно вложить заработанные деньги в сетевую инфраструктуру вместо очередного технологического подарка на день рождения.
Однако требования по пропускной способности у меня очень высоки, и в один момент я понял, что инфраструктуры на 100 Мбит/с уже не хватает. У всех моих домашних компьютеров уже установлены интегрированные адаптеры на 1 Гбит/с (на материнских платах), поэтому я решил взять прайс-лист ближайшей компьютерной фирмы и посмотреть, что мне потребуется для перевода всей сетевой инфраструктуры на 1 Гбит/с.
Нет, домашняя гигабитная сеть вовсе не такая сложная.
Я купил и установил всё оборудование. Я помню, что раньше на копирование большого файла по 100-Мбит/с сети уходило около полутора минут. После апгрейда на 1 Гбит/с тот же файл стал копироваться за 40 секунд. Прирост производительности приятно порадовал, но всё же я не получил десятикратного превосходства, которое можно было ожидать из сравнения пропускной способности 100 Мбит/с и 1 Гбит/с старой и новой сетей.
Из чего состоит гигабитная сети? Карты, кабели и концентраторы
Для гигабитной сети все её части должны поддерживать 1 Гбит/с. Например, если у вас установлены гигабитные сетевые карты и соответствующие кабели, но концентратор/коммутатор поддерживает всего 100 Мбит/с, то и вся сеть будет работать на 100 Мбит/с.
Первое требование – сетевой контроллер. Лучше всего, если каждый компьютер в сети будет оснащён гигабитным сетевым адаптером (отдельным или интегрированным на материнскую плату). Это требование удовлетворить проще всего, поскольку большинство производителей материнских плат пару последних лет интегрируют гигабитные сетевые контроллеры.
Второе требование – сетевая карта тоже должна поддерживать 1 Гбит/с. Есть распространённое заблуждение, что для гигабитных сетей требуется кабель категории 5e, но на самом деле даже старый кабель Cat 5 поддерживает 1 Гбит/с. Впрочем, кабели Cat 5e обладают лучшими характеристиками, поэтому они будут более оптимальным решением для гигабитных сетей, особенно если длина у кабелей будет приличная. Впрочем, кабели Cat 5e сегодня всё равно самые дешёвые, поскольку старый стандарт Cat 5 уже устарел. Новые и более дорогие кабели Cat 6 обладают ещё лучшими характеристиками для гигабитных сетей. Мы сравним производительность кабелей Cat 5e против Cat 6 чуть позже в нашей статье.
Третий и, наверное, самый дорогой компонент в гигабитной сети – это концентратор/коммутатор с поддержкой 1 Гбит/с. Конечно, лучше использовать коммутатор (возможно, в паре с маршрутизатором), поскольку концентратор или хаб – не самое интеллектуальное устройство, просто транслирующее все сетевые данные по всем доступным портам, что приводит к появлению большого числа коллизий и замедляет производительность сети. Если вам нужна высокая производительность, то без гигабитного коммутатора не обойтись, поскольку он перенаправляет сетевые данные только на нужный порт, что эффективно увеличивает скорость работы сети по с равнению с концентратором. Маршрутизатор обычно содержит встроенный коммутатор (с несколькими портами LAN), а также позволяет подключать вашу домашнюю сеть к Интернету. Большинство домашних пользователей понимают преимущества маршрутизатора, поэтому гигабитный маршрутизатор – вариант вполне привлекательный.
Первый тест: насколько быстрым должен быть гигабит?
Насколько быстрым должен быть гигабит? Если вы слышите префикс “гига”, то наверняка подразумеваете 1000 мегабайт, при этом гигабитная сеть должна обеспечивать 1000 мегабайт в секунду. Если вы так считаете, то вы не одиноки. Но, увы, в действительности всё иначе.
Что же такое гигабит? Это 1000 мегабит, а не 1000 мегабайт. В одном байте 8 битов, поэтому просто посчитаем: 1 000 000 000 битов разделить на 8 битов = 125 000 000 байтов. В мегабайте около миллиона байтов, поэтому гигабитная сеть должна обеспечивать теоретическую максимальную скорость передачи данных около 125 Мбайт/с.
Конечно, 125 Мбайт/с звучит не так впечатляюще, как гигабит, но подумайте: сеть с такой скоростью должна теоретически передавать гигабайт данных всего за восемь секунд. А 10-Гбайт архив должен передаваться всего за минуту и 20 секунд. Скорость невероятная: просто вспомните, сколько времени уходило на передачу гигабайта данных до того момента, как USB-брелоки стали такими быстрыми, как сегодня.
Ожидания были серьёзными, поэтому мы решили передать файл по гигабитной сети и насладиться скоростью близкой к 125 Мбайт/с. У нас нет какого-либо специализированного чудесного оборудования: простая домашняя сеть с некоторыми старыми, но приличными технологиями.
Копирование 4,3-Гбайт файла с одного домашнего компьютера на другой выполнялось со средней скоростью 35,8 Мбайт/с (мы проводили тест пять раз). Это всего лишь 30% от теоретического потолка гигабитной сети 125 Мбайт/с.
В чём же причины проблемы?
Факторы, ограничивающие скорость сети
Подобрать компоненты для установки гигабитной сети довольно просто, но вот заставить сеть работать на максимальной скорости намного сложнее. Факторы, которые могут привести к замедлению сети, довольно многочисленны, но как мы обнаружили, всё упирается в то, насколько быстро жёсткие диски способны передавать данные на сетевой контроллер.
Первое ограничение, которое нужно учитывать – интерфейс гигабитного сетевого контроллера с системой. Если ваш контроллер подключён через старую шину PCI, то количество данных, которое она теоретически может передать, составляет 133 Мбайт/с. Для пропускной способности 125 Мбайт/с у Gigabit Ethernet этого кажется достаточным, но помните, что пропускная способность шины PCI распределяется по всей системе. Каждая дополнительная карта PCI и многие системные компоненты будут использовать ту же самую пропускную способность, что снижает ресурсы, доступные сетевой карте. У контроллеров с новым интерфейсом PCI Express (PCIe) таких проблем нет, поскольку каждая линия PCIe обеспечивает, как минимум 250 Мбайт/с пропускной способности, причём эксклюзивно для устройства.
Следующий важный фактор, который влияет на скорость сети – кабели. Многие специалисты указывают на то, что в случае прокладки сетевых кабелей рядом с кабелями питания, являющимися источниками помех, низкие скорости гарантированы. Большая длина кабелей тоже проблемная, поскольку медные кабели Cat 5e сертифицированы под максимальную длину 100 метров.
Некоторые специалисты рекомендуют прокладывать кабели нового стандарта Cat 6 вместо Cat 5e. Часто такие рекомендации оправдать сложно, но мы попытаемся протестировать влияние категории кабеля на маленькую гигабитную домашнюю сеть.
Не будем забывать и про операционную систему. Конечно, в гигабитном окружении эта система используется довольно редко, но следует упомянуть, что Windows 98 SE (и старые операционные системы) не смогут использовать преимущества гигабитного Ethernet, поскольку стек TCP/IP этой операционной системы едва умеет нагружать 100-Мбит/с соединение в полной мере. Windows 2000 и более свежие версии Windows уже подойдут, хотя в старых операционных системах придётся выполнить некоторые настройки, чтобы они использовали сеть по максимуму. Мы будем использовать 32-битную ОС Windows Vista для наших тестов, и хотя у Vista в каких-то задачах репутация не самая лучшая, эта система поддерживает гигабитную сеть с самого начала.
Теперь перейдём к жёстким дискам. Даже старого интерфейса IDE со спецификацией ATA/133 должно быть достаточно для поддержки теоретической скорости передачи файлов 133 Мбайт/с, а более новая спецификация SATA соответствует всем требованиям, поскольку она обеспечивает, как минимум, пропускную способность 1,5 Гбит/с (150 Мбайт/с). Однако если кабели и контроллеры могут справляться с передачей данных на такой скорости, сами жёсткие диски – нет.
Возьмём для примера типичный современный жёсткий диск на 500 Гбайт, который должен обеспечивать постоянную пропускную способность около 65 Мбайт/с. В начале пластин (внешние дорожки) скорость может быть выше, однако по мере перехода на внутренние дорожки пропускная способность падает. Данные на внутренних дорожках считываются медленнее, на скорости около 45 Мбайт/с.
Нам казалось, что мы рассмотрели все возможные “узкие места”. Что оставалось делать? Нужно было провести несколько тестов и посмотреть, сможем ли мы добраться по производительности сети до теоретического предела 125 Мбайт/с.
Тестовая конфигурация
Тестовые системы | Серверная система | Клиентская система |
CPU | Intel Core 2 Duo E6750 (Conroe), 2,66 ГГц, FSB-1333, кэш 4 Мбайт | Intel Core 2 Quad Q6600 (Kentsfield), 2,7 ГГц, FSB-1200, кэш 8 Мбайт |
Материнская плата | ASUS P5K, Intel P35, BIOS 0902 | MSI P7N SLI Platinum, Nvidia nForce 750i, BIOS A2 |
Сеть | Встроенный контроллер Abit Gigabit LAN | Встроенный контроллер nForce 750i Gigabit Ethernet |
Память | Wintec Ampo PC2-6400, 2x 2048 Мбайт, DDR2-667, CL 5-5-5-15 на 1,8 В | A-Data EXTREME DDR2 800+, 2x 2048 Мбайт, DDR2-800, CL 5-5-5-18 на 1,8 В |
Видеокарты | ASUS GeForce GTS 250 Dark Knight, 1 Гбайт GDDR3-2200, 738 МГц GPU, 1836 МГц блок шейдеров | MSI GTX260 Lightning, 1792 Мбайт GDDR3-1998, 590 МГц GPU, 1296 МГц блок шейдеров |
Жёсткий диск 1 | Seagate Barracuda ST3320620AS, 320 Гбайт, 7200 об/мин, кэш 16 Мбайт, SATA 300 | Western Digital Caviar WD50 00AAJS-00YFA, 500 Гбайт, 7200 об/мин, кэш 8 Мбайт, SATA 300 |
Жёсткий диск 2 | 2x Hitachi Deskstar 0A-38016 в RAID 1, 7200 об/мин, кэш 16 Мбайт, SATA 300 | Western Digital Caviar WD50 00AAJS-00YFA, 500 Гбайт, 7200 об/мин, кэш 8 Мбайт, SATA 300 |
Блок питания | Aerocool Zerodba 620w, 620 Вт, ATX12V 2.02 | Ultra HE1000X, ATX 2.2, 1000 Вт |
Сетевой коммутатор | D-Link DGS-1008D, 8-Port 10/100/1000 Unmanaged Gigabit Desktop Switch |
|
ПО и драйверы | ||
ОС | Microsoft Windows Vista Ultimate 32-bit 6.0.6001, SP1 |
|
Версия DirectX | DirectX 10 |
|
Графический драйвер | Nvidia GeForce 185.85 |
Тесты и настройки
Тесты и нстройки | |
Nodesoft Diskbench | Version: 2.5.0.5, file Copy, Creation, Read, and Batch Benchmark |
SiSoftware Sandra 2009 SP3 | Version 2009.4.15.92, CPU Test = CPU Arithmetic / Multimedia, Memory Test = Bandwidth Benchmark |
Результаты тестов
Перед тем, как мы перейдём к любым тестам, мы решили протестировать жёсткие диски без использования сети, чтобы посмотреть, какую пропускную способность мы можем ожидать в идеальном сценарии.
В нашей домашней гигабитной сети работают два ПК. Первый, который мы будем называть сервером, оснащён двумя дисковыми подсистемами. Основной жёсткий диск – 320-Гбайт Seagate Barracuda ST3320620AS возрастом пару лет. Сервер работает в качестве сетевого хранилища NAS с RAID-массивом, состоящим из двух 1-Тбайт жёстких дисков Hitachi Deskstar 0A-38016, которые зеркалированы для избыточности.
Второй ПК в сети мы назвали клиентом, у него два жёстких диска: оба 500-Гбайт Western Digital Caviar 00AAJS-00YFA возрастом около полугода.
Сначала мы протестировали скорость системных жёстких дисков сервера и клиента, чтобы посмотреть, какую производительность мы можем от них ожидать. Мы использовали тест жёсткого диска в пакете SiSoftware Sandra 2009.
Наши мечты о достижении гигабитной скорости передачи файлов сразу же рассеялись. Оба из одиночных жёстких дисков достигли максимальной скорости чтения около 75 Мбайт/с в идеальных условиях. Поскольку данный тест проводится в реальных условиях, а накопители заполнены на 60%, то мы можем ожидать скорости чтения ближе к индексу 65 Мбайт/с, который мы получили у обоих жёстких дисков.
Но давайте посмотрим на производительность RAID 1 – самое хорошее у данного массива в том, что аппаратный RAID-контроллер может увеличивать производительность чтения, получая данные с обоих жёстких дисков одновременно, аналогично массивам RAID 0; но данный эффект получается (насколько мы знаем) только с аппаратными RAID-контроллерами, но не с программными решениями RAID. В наших тестах массив RAID обеспечил намного более высокую производительность чтения, чем один жёсткий диск, поэтому велики шансы того, что мы получим высокую скорость передачи файлов по сети с массива RAID 1. Массив RAID обеспечил впечатляющую пиковую пропускную способность 108 Мбайт/с, но в реальности производительность должна быть близка к индексу 88 Мбайт/с, поскольку массив заполнен на 55%.
Поэтому мы должны получить около 88 Мбайт/с по гигабитной сети, не так ли? Это не так близко к потолку гигабитной сети 125 Мбайт/с, но намного быстрое 100-Мбит/с сетей, у которых потолок составляет 12,5 Мбайт/с, так что получить 88 Мбайт/с на практике было бы совсем неплохо.
Но не всё так просто. То, что скорость чтения с жёстких дисков довольно высока, вовсе не означает, что они будут быстро записывать информацию в реальных условиях. Давайте проведём несколько тестов записи на диски до использования сети. Мы начнём с нашего сервера и скопируем 4,3-Гбайт образ со скоростного массива RAID на 320-Гбайт системный жёсткий диск и обратно. Затем мы скопируем файл с клиентского диска D: на его диск C:.
Как видим, копирование с быстрого массива RAID на диск C: дало среднюю скорость всего 41 Мбайт/с. А копирование с диска C: на массив RAID 1 привело к снижению до всего 25 Мбайт/с. Что происходит?
Именно так и случается в реальности: жёсткий диск C: выпущен чуть больше года назад, но он заполнен на 60%, вероятно, немного фрагментирован, так что по записи он рекордов не бьёт. Есть и другие факторы, а именно, насколько быстро работает система и память в целом. Массив RAID 1 составлен из относительного нового “железа”, но из-за избыточности информацию нужно записывать на два жёстких диска одновременно, что снижает производительность. Хотя массив RAID 1 может дать высокую производительность чтения, скоростью записи придётся пожертвовать. Конечно, мы могли использовать массив RAID 0 с чередованием, который даёт высокую скорость записи и чтения, но если один жёсткий диск “умрёт”, то вся информация будет испорчена. В целом, RAID 1 является более правильным вариантом, если для вас ценны данные, хранящиеся на NAS.
Впрочем, не всё потеряно. Новый 500-Гбайт накопитель Digital Caviar способен записывать наш файл со скоростью 70,3 Мбайт/с (средний результат по пяти тестовым прогонам), а также даёт максимальную скорость 73,2 Мбайт/с.
С учётом всего сказанного мы ожидали получить в реальных условиях максимальную скорость передачи по гигабитной сети 73 Мбайт/с с массива NAS RAID 1 на диск C: клиента. Мы также протестируем передачу файлов с клиентского диска C: на серверный диск C: чтобы узнать, можем ли мы реалистично ожидать 40 Мбайт/с в этом направлении.
Тесты гигабитной компьютерной сети
Начнём с первого теста, в рамках которого мы отсылали файл с клиентского диска C: на диск C: сервера.
Как видим, результаты соответствуют нашим ожиданиям. Гигабитная сеть, способная в теории дать 125 Мбайт/с, отсылает данные с клиентского диска C: с максимально возможной скоростью, вероятно, в районе 65 Мбайт/с. Но, как мы показали выше, серверный диск C: может записывать только со скоростью около 40 Мбайт/с.
Теперь давайте скопируем файл со скоростного RAID-массива сервера на диск C: клиентского компьютера.
Всё оказалось так, как мы и предполагали. Из наших тестов мы знаем, что диск C: клиентского компьютера способен записывать данные со скоростью около 70 Мбайт/с, и производительность гигабитной сети оказалась очень близка к данной скорости.
К сожалению, полученные нами результаты и близко не подходят к теоретической максимальной пропускной способности 125 Мбайт/с. Можем ли мы протестировать предельную скорость работы сети? Конечно, но не в реалистичном сценарии. Мы попытаемся передать информацию по сети из памяти в память, чтобы обойти любые ограничения жёстких дисков по пропускной способности.
Для этого мы создадим 1-Гбайт RAM-диск на серверном и клиентском ПК, после чего передадим 1-Гбайт файл между этими дисками по сети. Поскольку даже медленная память DDR2 способна передавать данные со скоростью более 3000 Мбайт/с, то ограничивающим фактором окажется сетевая пропускная способность.
Мы получили максимальную скорость работы нашей гигабитной сети 111,4 Мбайт/с, что очень близко к теоретическому пределу 125 Мбайт/с. Прекрасный результат, жаловаться на него не приходится, поскольку реальная пропускная способность всё равно не будет достигать теоретического максимума из-за передачи дополнительной информации, ошибок, повторных передач и т.д.
Вывод будет следующим: сегодня производительность передачи информации по гигабитной сети упирается в жёсткие диски, то есть скорость передачи будет ограничена самым медленным винчестером, участвующем в процессе. Ответив на самый важный вопрос, мы можем переходить к тестам скорости в зависимости от конфигурации кабелей, чтобы наша статья была полной. Сможет ли оптимизация прокладки кабелей дать скорость сети, ещё более близкую к теоретическому пределу?
Влияние кабеля
Поскольку производительность в наших тестах была близка к предполагаемой, мы вряд ли увидим какие-либо улучшения при изменении конфигурации кабелей. Но мы всё равно хотели провести тесты, чтобы приблизиться к теоретическому ограничению по скорости.
Мы провели четыре теста.
Тест 1: по умолчанию.
В данном тесте мы использовали два кабеля длиной около 8 метров, каждый из которых был подключён к компьютеру на одном конце и к гигабитному коммутатору на другом. Мы оставили кабели там, где их прокладывали, то есть по соседству с кабелями питания и розетками.
Тест 2: снижаем помехи со стороны кабелей питания.
На этот раз мы использовали те же 8-м кабели, что и в первом тесте, но перенесли сетевой кабель как можно дальше от кабелей питания и удлинителей.
Тест 3: уменьшаем длину кабелей.
В данном тесте мы сняли один из 8-м кабелей и заменили его метровым кабелем Cat 5e.
Тест 4: заменяем кабели Cat 5e на Cat 6.
В последнем тесте мы заменили 8-м кабели Cat 5e на 8-м кабели Cat 6.
В общем, наше тестирование разных конфигураций кабелей не показала серьёзной разницы, но выводы сделать можно.
Тест 2: снижаем помехи со стороны кабелей питания.
В небольших сетях, таких как наша домашняя сеть, тесты показывают, что вам можно не беспокоиться о прокладке кабелей LAN рядом с кабелями электропроводки, розетками и удлинителями. Конечно, наводки при этом будут выше, но серьёзного эффекта на скорость сети это не даст. Впрочем, с учётом всего сказанного, лучше избегать прокладки рядом с кабелями питания, да и следует помнить, что в вашей сети ситуация может оказаться иной.
Тест 3: уменьшаем длину кабелей.
Это не совсем корректный тест, но мы пытались обнаружить разницу. Следует помнить, что замена восьмиметрового кабеля на метровый может привести к влиянию на результат просто разных кабелей, чем разницы в расстоянии. В любом случае, в большинстве тестов мы не видим значимой разницы за исключением аномального подъёма пропускной способности во время копирования с клиентского диска C: на серверный C:.
Тест 4: заменяем кабели Cat 5e на Cat 6.
Опять же, мы не обнаружили существенной разницы. Поскольку длина кабелей составляет около 8 метров, большие по длине кабели могут дать большую разницу. Но если у вас длина не максимальная, то кабели Cat 5e будут вполне нормально работать в домашней гигабитной сети с расстоянием между двумя компьютерами 16 метров.
Интересно заметить, что манипуляции с кабелями не дали никакого эффекта на передачу данных между RAM-дисками компьютеров. Вполне очевидно, что какой-то другой компонент в сети ограничивал производительность магической цифрой 111 Мбайт/с. Впрочем, подобный результат всё равно приемлем.
Заключение
Дают ли гигабитные сети гигабитную скорость? Как оказывается, почти дают.
Однако в реальных условиях скорость сети будет серьёзно ограничиваться жёсткими дисками. В синтетическом сценарии память-память наша гигабитная сеть дала производительность, очень близкую к теоретическому пределу 125 Мбайт/с. Обычные же скорости в сети с учётом производительности жёстких дисков будут ограничиваться уровнем от 20 до 85 Мбайт/с, в зависимости от используемых винчестеров.
Мы также протестировали влияние кабелей питания, длины кабеля и перехода с Cat 5e на Cat 6. В нашей небольшой домашней сети ни один из упомянутых факторов не влиял существенно на производительность, хотя мы хотим отметить, что в более крупной и более сложной сети с большими длинами эти факторы могут влиять намного сильнее.
В общем, если вы передаёте в домашней сети большое количество файлов, то мы рекомендуем устанавливать гигабитную сеть. Переход с сети на 100 Мбит/с даст приятный прирост производительности, по крайней мере, вы получите двукратное увеличение скорости передачи файлов.
Gigabit Ethernet в домашней сети может дать больший прирост производительности, если вы будете считывать файлы с быстрого хранилища NAS, где используется аппаратный массив RAID. В нашей тестовой сети мы передавали 4,3-Гбайт файл всего за одну минуту. По соединению на 100 Мбит/с тот же самый файл копировался около шести минут.
Гигабитные сети становятся всё более доступными. Теперь осталось только дождаться, когда скорости жёстких дисков поднимутся до такого же уровня. А пока что мы рекомендуем создавать массивы, способные обойти ограничения современных технологий HDD. Тогда вы сможете выжать больше производительности из гигабитной сети.