У меня 2 физических сервера:
Обе машины работают Windows Server 2008 R2 сейчас и есть 10 Гбит Supermicro AOC-STGN-i2S (на самом деле они Intel 82599 с логотипом Supermicro) в слотах PCIe x4 - с подключенным двойным осевым кабелем SFP + между ними.
Второй сервер предназначен только для тестирования.
Сначала я установил ESXi на 2-й и использовал 1-й как хранилище данных.
Я заметил, что согласно CrystalDiskMark, виртуальная машина на ESX получила только 325 МБ / с скорость передачи seq (пробовал с NFS и ISCSI).
Я провел тот же тест на первом сервере локально и получил ~ 1000 МБ / с. Мне стало интересно, действительно ли сетевая ссылка убивает 2/3 скорости, поэтому я заменил второй жесткий диск, установил Windows Server 2008 R2 и попробовал Jperf и NTTtcp. Jperf показал 400 МБ / с а NTttcp показал 4300-4600Мбит / с. Диспетчер задач Windows показал около 600 000 000 байт за интервал, что соответствует 4,47 гигабит.
Я проверил, что оба конца имеют полный дуплекс, и попытался включить и выключить большие кадры на обоих концах, но разница составила всего 580 000 000 против 600 000 000 байт на интервал.
Почему наблюдаемая мной пропускная способность составляет лишь половину теоретического максимума в 10 гигабит?
ДОБАВЛЕНИЕ
Командные строки NTTtcp:
ntttcpr -m 6,0,192.168.137.1 -a 6 (receiver)
ntttcps -m 6,0,192.168.137.1 -a 6 (sender)
Я подозреваю, что ваши слоты PCI-e x4 - узкое место. Теоретическая пропускная способность этих слотов должна быть в диапазоне 16 Гбит / с (насыщая сетевую карту свободным местом), но это не всегда хорошо реализуется с точки зрения контроллера.
У вас есть слот x8 или выше, который вы можете украсть у чего-нибудь еще, чтобы проверить?