Для начала давайте признаем, что вы сравниваете яблоки и апельсины.
nc
, scp
и wget
обычно передаются через один сокет TCP. Однако, когда вы используете iperf -P 12
, вы используете двенадцать параллельных сокетов TCP. Это нетривиальное различие. Чем больше у вас параллельных соединений, тем больше будет потребление пропускной способности. Фактически, speedtest.net
использует несколько параллельных потоков TCP для надежного измерения пропускной способности, даже если ваша ссылка имеет значительную потерю пакетов, которая может перехватить один сокет TCP; Я видел их насыщенные ссылки с потерей 1,5% (что снизило бы пропускную способность обычного TCP-сокета).
Основными причинами неоптимальных передач TCP с одним сокетом являются потеря пакетов и задержка / дрожание. Вам нужно определить и исправить, если у вас есть какие-либо текущие потери пакетов по вашей ссылке ... Я обычно использую mtr
или winmtr
для этого ...
mpenning@mpenning-T61:~$ mtr -n <destination_ip>
HOST: mpenning-T61 Loss% Snt Last Avg Best Wrst StDev
1. 10.239.84.1 0.0% 407 8.8 9.1 7.7 11.0 1.0
2. 66.68.3.223 0.0% 407 11.5 9.2 7.1 11.5 1.3
3. 66.68.0.8 0.0% 407 19.9 16.7 11.2 21.4 3.5
4. 72.179.205.58 0.0% 407 18.5 23.7 18.5 28.9 4.0
5. 66.109.6.108 5.2% 407 16.6 17.3 15.5 20.7 1.5 <----
6. 66.109.6.181 4.8% 407 18.2 19.1 16.8 23.6 2.3
7. 4.59.32.21 6.3% 407 20.5 26.1 19.5 68.2 14.9
8. 4.69.145.195 6.4% 406 21.4 27.6 19.8 79.1 18.1
9. <destination_ip> 6.8% 406 22.3 23.3 19.4 32.1 3.7
Если вы видите прыжок, в котором вы постоянно теряете пакеты с течением времени, а прыжки за ним теряют пакеты, то вам нужно исправить то, что вызывает потерю пакетов. Я обычно измеряю по крайней мере пять или десять минут ... часто часами, если я не вижу проблемы немедленно.
Другая ситуация - задержка ... вам нужно будет еще раз определить проблему, указав особенности сквозной задержки, а также информацию об ОС src/dest, прежде чем кто-то сможет ответить на это.
Так что у вас есть выбор ... либо:
- Выясните, что заставляет вас снижать производительность
- Разбейте ваши передачи на несколько файлов и передавайте их параллельно (чтобы преодолеть любые факторы, снижающие пропускную способность сейчас)