net:channel_performance_measuring
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
net:channel_performance_measuring [2022/03/01 10:14] – [Послесловие] san | net:channel_performance_measuring [2022/03/01 12:15] (текущий) – [Эксперимент №5 - делаем программу отправки трафика напрямую в сетевой интерфейс] san | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Измерение пропускной способности канала: | ====== Измерение пропускной способности канала: | ||
- | **Дано: | + | **Дано: |
**Требуется: | **Требуется: | ||
Строка 22: | Строка 22: | ||
<file bash> | <file bash> | ||
bmon -p eth1 -o curses: | bmon -p eth1 -o curses: | ||
+ | </ | ||
+ | |||
+ | <file console> | ||
+ | | ||
+ | Interfaces | ||
+ | > | ||
+ | ───────────────────────────────┴───────────────────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── | ||
+ | | ||
+ | 133.00 ..................|......................................... | ||
+ | 110.83 ..................|......................................... | ||
+ | 88.67 ..................|......................................... | ||
+ | 66.50 ..................|......................................... | ||
+ | 44.33 ..................|......................................... | ||
+ | 22.17 ..................|......................................... | ||
+ | | ||
+ | (RX Packets/ | ||
+ | 1.00 ..................|......................................... | ||
+ | 0.83 ..................|......................................... | ||
+ | 0.67 ..................|......................................... | ||
+ | 0.50 ..................|......................................... | ||
+ | 0.33 ..................|......................................... | ||
+ | 0.17 ..................|......................................... | ||
+ | | ||
</ | </ | ||
Строка 294: | Строка 317: | ||
| | ||
| | ||
- | int tx_len = 0; | ||
| | ||
| | ||
Строка 336: | Строка 358: | ||
/* Ethertype field */ | /* Ethertype field */ | ||
| | ||
- | | ||
/* IP Header */ | /* IP Header */ | ||
Строка 352: | Строка 373: | ||
/* Destination IP address */ | /* Destination IP address */ | ||
| | ||
- | | ||
| | ||
Строка 358: | Строка 378: | ||
// udph-> | // udph-> | ||
// udph-> | // udph-> | ||
- | | ||
/* Packet data */ | /* Packet data */ | ||
Строка 436: | Строка 455: | ||
ip link set dev eth1 txqueuelen 10000 | ip link set dev eth1 txqueuelen 10000 | ||
</ | </ | ||
- | Если на сетевой карте выставить MTU в 9000, то можно увеличить загрузку однопоточным зафлуживанием канала. В много поточном варианте все-равно все упирается в потолок 1.08GiB/s, но зато можно снизить число запускаемых потоков для достижения этого " | + | Если на сетевой карте выставить MTU в 9000, то можно увеличить загрузку однопоточным зафлуживанием канала. В многопоточном варианте все-равно все упирается в потолок 1.08GiB/s, но зато можно снизить число запускаемых потоков для достижения этого " |
+ | |||
+ | Результатов превышающих абсолютно все описанные удалось добиться при использовании udpblast в многопоточном режиме **1.16GiB 150.92K** **1, | ||
+ | |||
+ | Вот скрипт многопоточного флуда с помощью tcpblast | ||
+ | <file bash netflood-max.sh> | ||
+ | # | ||
+ | |||
+ | threads=32 | ||
+ | buflen=65535 | ||
+ | pkt=" | ||
+ | |||
+ | for i in $(seq 1 $threads) | ||
+ | do | ||
+ | (echo " | ||
+ | echo "Run thread $i" | ||
+ | sleep 0.1 | ||
+ | done | ||
+ | read -p "Flood Started! Press enter to terminate flood" | ||
+ | killall -9 udpblast | ||
+ | </ | ||
+ | |||
+ | |||
+ | {{tag> |
net/channel_performance_measuring.1646118891.txt.gz · Последнее изменение: 2022/03/01 10:14 — san