Что в действительности делает этот тест (Loopback TCP Performance Network)?
В наборе тестов phoronix я обнаружил микро-тест под названием "Loopback TCP Network Performance 1.0.1", такой же тип команды, используемый здесь:
nc -d -l 9999 > /dev/null &
time dd if=/dev/zero bs=1M count=10000 | nc localhost 9999
Это действительно подчеркивает физический сетевой интерфейс или только связанные уровни ядра?
Вопрос в том, можем ли мы считать эту команду "сетевым" тестом?
1 ответ
Он не проверяет физическую сетевую инфраструктуру, даже локальный сетевой интерфейс.
Что проверено это петлевой интерфейс. Это примерно виртуальный сетевой интерфейс, который соединяет компьютер с самим собой.
Тест состоит из отправки нулевых байтов через уровни реализации TCP/IP вплоть до моделируемого аппаратного устройства. loopback
и снова создайте резервную копию стека.
Тест показывает, насколько быстро реализуется сетевой стек, что зависит, главным образом, от того, как часто необходимо копировать данные сети в пути. Проверяется только пропускная способность, задержка игнорируется.
Результат не должен иметь большого практического значения, если машина достаточно быстра для обработки трафика. Может быть, это актуально для сетевого подключения 10 ГБ или нескольких подключений 1 ГБ.
Я подозреваю, что на однопроцессорной машине основное влияние на производительность будет составлять планирование процесса чтения и записи - это больше похоже на тестирование алгоритма планирования. Но при условии, что оба nc
экземпляры могут использовать отдельное ядро процессора, это не должно быть проблемой.
Это можно считать тестом сети в том смысле, что реализация сетевого стека в ядре является важной частью сети.