Sieć zmostkowana Virtual Box - wolno?

0

Zajmuję się tworzeniem aplikacji sieciowych zarówno na Linuksa (serwer), jak i Windows 7 (klient).

Zastanawiam się jednak, czy winna sieć jest odpowiedzialna za powolną sieć.

Pomyślałem, że spróbuję użyć iperf, aby sprawdzić, czy problem stanowi moja aplikacja, i zobaczyć prawdziwą przepustowość.

C:\Users\XEN\Downloads>iperf.exe -c 192.168.2.104 -u -p 3000 -w 16000
------------------------------------------------------------
Client connecting to 192.168.2.104, UDP port 3000
Sending 1470 byte datagrams
UDP buffer size: 15.6 KByte
------------------------------------------------------------
[148] local 192.168.2.105 port 58801 connected with 192.168.2.104 port 3000
[ ID] Interval       Transfer     Bandwidth
[148]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec
[148] Server Report:
[148]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  3.086 ms    0/  892 (0%)
[148] Sent 892 datagrams

Strona Linux:

matt@blaze:~/dev$ iperf -s -p 3000 -u
------------------------------------------------------------
Server listening on UDP port 3000
Receiving 1470 byte datagrams
UDP buffer size:   122 KByte (default)
------------------------------------------------------------
[  3] local 192.168.2.104 port 3000 connected with 192.168.2.105 port 58800
[ ID] Interval       Transfer     Bandwidth       Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  3.625 ms    0/  894 (0%)
[  4] local 192.168.2.104 port 3000 connected with 192.168.2.105 port 58801
[  4]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec  3.086 ms    0/  892 (0%)

To wydaje się strasznie powolne! czy poprawnie używam iperf? Czy to problem z virtualbox?

AKTUALIZACJA: Wydaje się, że TCP wypada raczej lepiej. Dostaję 460 Mb / s. AKTUALIZACJA 2: 1,05 Mb / s przez interfejs sprzężenia zwrotnego linux z UDP! czy przyczyną jest jądro Linuksa, czy też iperf jest po prostu zepsuty dla UDP?

Jakieś pomysły?

Matt H.
źródło

Odpowiedzi:

0

Aby odpowiedzieć na moje pytanie.

Próbowałem tego po stronie klienta.

iperf.exe -c 192.168.2.104 -b 1g

Oto wyniki

C:\Users\XEN\Downloads>iperf.exe -c 192.168.2.104 -b 400m
WARNING: option -b implies udp testing
------------------------------------------------------------
Client connecting to 192.168.2.104, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
[148] local 192.168.2.105 port 50973 connected with 192.168.2.104 port 5001
[ ID] Interval       Transfer     Bandwidth
[148]  0.0- 4.5 sec  52.9 MBytes  99.6 Mbits/sec
[148] Server Report:
[148]  0.0- 4.4 sec  52.9 MBytes  99.8 Mbits/sec  0.864 ms    0/37719 (0%)
[148] Sent 37719 datagrams

Wygląda na to, że Windows lub Virtualbox ma pewne ograniczenia UDP. Nie mogę sprawić, by przekroczył 100 Mb. W systemie Linux faktycznie przekroczyłem 1 Gb przy użyciu tego samego polecenia. Zauważam, że rozmiar bufora systemu Windows to tylko 8 KB. W Linuksie jest to 122 KB. Spróbuję to zwiększyć.

EDYCJA: Podsumowując, tak, to trochę powolne. Porównuję z VMWare lub zamiast tego spróbuję sieci NAT.

Matt H.
źródło
UDP nie ma z natury nic powolnego. Jednak iperf implementuje bardzo prosty protokół UDP ping-pong bez koncepcji wielu pakietów w locie (przesuwane okno), który jest wymagany, aby protokół nasycił łącze niezerowym opóźnieniem. Możliwe jest zaimplementowanie takiego protokołu na UDP, ale iperf tego nie robi. Aby zoptymalizować transfer danych obsługiwany przez stos sieciowy systemu operacyjnego, użyj protokołu TCP.
Michael Fenn
0

Na stare pytanie, ale przeczytaj informacje pomocy. Jeśli chcesz, aby UDP wysyłał szybciej, użyj opcji -b:

-b, --bandwidth # [KM] dla UDP, szerokość pasma do wysyłania w bitach / s (domyślnie 1 Mbit / s oznacza -u)

SteveC
źródło
0

Mogłem prześledzić złą przepustowość (nawet z hosta VirtualBox do własnego gościa) na moim przełączniku. Spróbuj podłączyć do innego przełącznika, jeśli możesz - lub nawet odłącz go w celu przetestowania.

I spróbuj virtioustawienia karty sieciowej, jeśli możesz. virtio zmniejszył liczbę moich spadków pakietów udp z „częstych” do „zerowych” .

Aktualizacja Sądząc z sekcji PO Update(zapętlenie jako wolne), moje sugestie wydają się niezwiązane. Zostawię je tutaj dla dobra innych, którzy mogą przyjść tutaj z objawami pasującymi do mojej recepty.

Eugene Beresovsky
źródło