Bonding a wydajność sieci - gigabit zbędny?
Autor: breusz | Kategoria: Technika | Data: 1 lutego 2008
Prowadząc sklep www.linux-dvd.pl często zdarza mi się kopiować w ciągu dnia kilkadziesiąt, a nawet kilkaset gigabajtów danych. Niestety karta 100Mbit to już mało aby między komputerami po sieci w rozsądnym czasie kopiować takie ilości danych. Zakupiłem więc tanie karty gigabit RTL8169, jednak z powodu opóźnienia przesyłki z kartami zacząłem się zastanawiać czy gigabit to nie jest trochę na wyrost jak na komputery biurkowe. I czy bonding by nie wystarczył? Wsadziłem więc do 2 komputerów po 3 tanie karty sieciowe, spiąłem 3 skrętkami UTP w trybie krzyżowym i uruchomiłem pod Linuksem bonding w trybie mode=0 czyli upraszczając z 3 sieciówek robi się jedna o przepustowości równej sumie sieciówek.
Sprawdziłem jak działa bonding na komputerach o poniższej konfiguracji:
| System | Centos 5 kernel-2.6.18-53.1.6.el5 | Centos 4.2 kernel-2.6.9-67.0.1.EL |
| Procesor | AMD Athlon 1 GHz | Intel Celeron 2,15 MHz |
| Płyta | ASUS A7V-133 | Gigabyte 8IG1000MK |
| Pamięć | 2 x 256 DIMM SDRAM | 2 x 256 DIMM DDR |
| Dysk | Seagate ST360021A 7200 rpm 2MB cache | Caviar WD800JB-00JJC0 7200rpm 8MB cache |
| Karty sieciowe | 3 x RTL-8139C | 3 x 8139D |
| Wynik hdparm -t /dev/hda | 40.44 MB/sec | 55.88 MB/sec |
Test 1
Ściąganie ftp (serwer vsftp na Athlonie) , aby zwiększyć wydajność użyłem programu prozilla zamiast wget (ściąganie w 4 sesjach pliku 1GB), oto średnia 3 kolejnych testów:
Total bytes received = 1024000.0K (100.00%)
Average D/L speed = 18962.96Kb/s
Test 2
Narzędzie iperf, wynik działania bez żadnych opcji, średnia 3 testów:
[ 3] 0.0-10.0 sec 276 MBytes 232 Mbits/sec
Jak widać wydajność jest dość niska - wystarczyłby bonding 2 kart 100Mbit, a wąskim gardłem jest zapewne wolna maszyna z Athlonem. Przy następnej okazji nie omieszkam pokazać wyniki przy podmianie Athlona na coś szybszego.
Uaktualnienie (12/02/2008)
## Maszynę słabszą czyli Athlona 1GHz podmieniłem na Athlona 1700+ (1466MHz). Wyniki są lepsze, czego można było się spodziewać:
Prozilla
Total bytes received = 1024000.0K (100.00%)
Average D/L speed = 23272.73Kb/s
Iperf
[ 3] 0.0-10.0 sec 327 MBytes 275 Mbits/sec
Wget (dodałem dla porównania z prozillą)
20:43:45 (25.02 MB/s) - `zero.dd’ saved [1048576000]
### Ale ponieważ pod ręką był jeszcze Celeron 1700 MHz, to zrobiłem jeszcze podmianę z Athlona. Wyniki jeszcze milej zaskoczyły:
Prozilla
Total bytes received = 1024000.0K (100.00%)
Average D/L speed = 24380.95Kb/s
Iperf
[ 3] 0.0-10.0 sec 333 MBytes 279 Mbits/sec
Wget (wykazał się niesamowicie - specjalnie pobierany był plik 2 razy większy kilka razy)
20:21:15 (30.15 MB/s) - `2g.dd’ saved [2097152000]
