Назад | Перейти на главную страницу

Возникла проблема при попытке получить гигабитную скорость в моей сети (сервер Ubuntu)

Я только начал изучать скорость сети в моем офисе, вся сеть настроена на «гигабитную». Сюда входят коммутаторы Gb, сетевые карты Gb и кабели Cat 5e.

На полную скорость не жду, просто хочу больше ~ 90 Мб / с.

Я провел несколько тестов с iperf инструменты Linux и проверка оборудования с помощью эттоол. У меня есть 3 сервера, и при выполнении моих проверок / тестов я обнаружил, что два резервное копирование серверы могут получать доступ друг к другу со скоростью около 450 Мбит / с, но при использовании любого из них для подключения и тестирования основной сервер, я получаю только 90 Мбит / с, хотя эттоол показывает, что сетевая карта работает на 1000 / Full.

Единственная разница между всеми серверными / сетевыми картами - это «Порт» который эттоол показывает. На двух резервное копирование На серверах «Порт» отображается как MII, а на других - как «Витая пара».

Когда используешь ethtool -s чтобы вручную установить "Порт" на MII на основной сервер теряет все возможности подключения и не показывает «Скорость» или «Дуплекс».

В любом случае, я что-то не так делаю? Есть ли конкретная причина, по которой мой основной сервер не может использовать Gb, когда кажется, что нет разницы Кроме порт"?

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

Если он что-то исправляет, то, возможно, у вас плохой кабель?

Следующее, что я хотел бы рассмотреть, это конфигурация порта коммутатора. Убедитесь, что порт на медленном сервере такой же, как и на быстром. Я бы также переключил медленный сервер на порт быстрого сервера и протестировал, так как это может быть плохой порт.

Затем я посмотрел на карты - они одной марки и модели? они настроены одинаково? Попробуйте поменять местами один с быстрого сервера на медленный. Возможно, у вас плохая карта или устаревшие / плохие драйверы для одной из карт.

Как отметил @Luis, 'b' = бит, а 'B' = байт. iperf помогает нам сообщая время в Мбит / сек:

[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.01 GBytes   865 Mbits/sec

Делает ifconfig eth0 показать какие-либо ошибки на любом хосте? Из ваших отчетов кажется, что либо ЦП на одной из двух машин iperf перегружен, либо переключатель (пожалуйста, скажите мне, что это не несколько переключателей) между ними перегружен, либо у вас есть ограничение на 100 Мбит где-то между вашими хостами. Я обнаружил, что люди слишком много раз отключались от небольшого 100-мегабитного коммутатора, так что хорошо знать, где начинается и где заканчивается ваш кабель. Вы используете умный переключатель? Показывает, что ваши порты активны на гигабитных скоростях?

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

Имеет ли значение направление, в котором вы проверяете скорость? Если это так, например, если сервер принимает медленнее, чем отправляет, также проверьте буферы принимающего хоста. Эта страница может дать вам несколько советов по правильной настройке TCP-стека.

http://fasterdata.es.net/host-tuning/linux/

Мои работают как Port: Twisted Pair, и я получаю около 110 МБ / с. Это было измерено для SAN, и с использованием 4 кабелей я получил около 450 МБ / с. Ваш 450Mб/ s немного запутал меня :)

Я собираюсь заподозрить MTU на порте коммутатора главного сервера и его сетевой карте. Вы можете увидеть, есть ли у вас ошибки?

Это может помочь:

ip link | grep mtu
ethtool -S eth0