Я измеряю пропускную способность UDP между двумя контейнерами Docker, которые соединены собственной оверлейной сетью Docker. Я уже использовал iperf
но также хотите измерить пропускную способность с помощью nuttcp
. Но когда я запускаю экземпляр сервера, а затем запускаю экземпляр клиента, экземпляр сервера вылетает со следующим сообщением об ошибке: Segmentation fault (core dumped)
. Вот как я запустил сервер:
nuttcp -S -u --nofork
и вот так я запустил клиента:
nuttcp -u -T 115 10.0.0.3
Экземпляр сервера выходит из строя сразу после запуска клиента. Я использовал те же команды для запуска nuttcp
вне Docker без проблем.
Вот дополнительная информация о версиях, которые я использую:
# inside the container:
$ uname -a
Linux 310d92462ac0 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ nuttcp -V
nuttcp-6.1.2
# outside the container:
$ uname -a
Linux libAMS 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ docker -v
Docker version 1.10.3, build 20f81dd
Есть у кого-нибудь идеи, как это решить?
Ошибка находится в версии: 6.1.2 из nuttcp. Для получения дополнительной информации и исправления прочтите эту ссылку. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745051
Я предлагаю использовать новую версию.
mkdir nuttcp
cd nuttcp/
wget http://nuttcp.net/nuttcp/beta/nuttcp-7.3.3.c
Если у вас нет gcc
sudo apt-get install build-essential manpages-dev
скомпилировать программу и запустить
cc nuttcp-7.3.3.c -o nuttcp-7
./nuttcp-7 –V
nuttcp-7.3.3