Комментарии 9
НЛО прилетело и опубликовало эту надпись здесь
>>Я советую vmxnet3
К сожалению, под рукой нет конкретных фактов и примеров, но со времён 5.5 вывел для себя золотой алгоритм:
— в машине дурит сеть?
— удали vmxnet, поставь E1000e
— 90% проблема самоустранится
Отсюда вопрос — исходя из чего рекомендация?
К сожалению, под рукой нет конкретных фактов и примеров, но со времён 5.5 вывел для себя золотой алгоритм:
— в машине дурит сеть?
— удали vmxnet, поставь E1000e
— 90% проблема самоустранится
Отсюда вопрос — исходя из чего рекомендация?
0
Как я написал в начале, я рассматривал с позиции написания DPDK приложения.
Основные бенефиты vmxnet3:
1) multiqueue
2) использование shared memory вместо VMexit-VMentry
Первое за счет RSS может скейлить обработку по ядрам,
второе за счет уменьшения количества VMexit экономит по 600 циклов за выход.
По тестам у vmxnet3 на 97% меньше частота VMexit-VMentry.
С точки зрения традиционных приложений, я за e1000.
Основные бенефиты vmxnet3:
1) multiqueue
2) использование shared memory вместо VMexit-VMentry
Первое за счет RSS может скейлить обработку по ядрам,
второе за счет уменьшения количества VMexit экономит по 600 циклов за выход.
По тестам у vmxnet3 на 97% меньше частота VMexit-VMentry.
С точки зрения традиционных приложений, я за e1000.
+2
Слишком мало конкретики — пробуйте профилировать и получать flame graph'ы.
0
Я постарался на схемах показать основные потери performance по результатам профилирования. Вам интересно конкретно скриншоты профилировщика?
0
Интересуют конкретные цифры.
То что там будет Overhead из-за копирования — и ежу понятно.
Профилятор — профилятору рознь. Надо понимать что есть multisample profiling, есть monitoring gap и прочие нюансы.
Было бы просто замечательно прогнать это всё в афинном окружении (numactl/taskset) на изолированных ядрах, да отрисовать flame graph'ы. Даже банального ptrace хватило бы.
Были бы цифры и графики для каждого из вариантов — было бы понятно конкретно что и сколько времени выполняется.
То что там будет Overhead из-за копирования — и ежу понятно.
Профилятор — профилятору рознь. Надо понимать что есть multisample profiling, есть monitoring gap и прочие нюансы.
Было бы просто замечательно прогнать это всё в афинном окружении (numactl/taskset) на изолированных ядрах, да отрисовать flame graph'ы. Даже банального ptrace хватило бы.
Были бы цифры и графики для каждого из вариантов — было бы понятно конкретно что и сколько времени выполняется.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Использование технологий от Intel для передачи сетевого трафика из физического адаптера в виртуальный