Скорость петлевого интерфейса

517
Przemek Tomala

Я работаю сейчас с акциями NFS. И я хочу подключиться к localhost с помощью NFS. У меня есть диск, который может читать / писать ~ 400 МБ / с, но когда я подключаюсь к nfs на локальном хосте, у меня есть только ~ 110 МБ / с.

Я читал, что интерфейс обратной связи не имеет ограниченной скорости и должен работать так же быстро, как и процессор. Итак, почему у меня есть ограничение до ~ 1 Гбит соединения?

MacOS 10.12

0
Если программа `socket` доступна под MaxOS, вы можете запустить` socket -sl 8080 -p "cat / dev / zero" `в терминале (который будет отправлять бесконечные нули кому-либо, подключающемуся к порту 8080), а затем запустить любой программа, которая читает из сети и отображает скорость передачи, например, `wget localhost: 8080`. Обратите внимание, что `wget` записывает на диск то, что получает, поэтому нажмите Ctrl-C как можно скорее, или вы заполните свой диск! Если петлевое устройство ** не ** виновно, вы должны получать около гигабайта в секунду. В противном случае вам может потребоваться изучить правила брандмауэра. Loopback действительно требует только пакеты. Damon 6 лет назад 1
Это означает, что, хотя он никогда не покидает компьютер, стек TCP все равно должен копировать и пакетировать данные, вычислять контрольные суммы, проходить маршрутизацию (исходящую) и затем снова проходить маршрутизацию (входящую). Также он должен на самом деле отправлять ACK и поддерживать окно. Что может, если у вас много правил брандмауэра, не совсем бесплатная операция. Однако обычно он должен быть достаточно быстрым, чтобы превзойти твердотельный диск. Damon 6 лет назад 0

1 ответ на вопрос

0
pim

Вы правы, петлевой интерфейс не является причиной этого замедления, я не эксперт по OSX, но использование новейшей машины с linux даст вам пропускную способность в несколько гигабайт в секунду.

Возможно, проблема в вашей конфигурации NFS, но если вам действительно нужна скорость, вам больше повезет с bindfs .