Auteur Sujet: GS108T + NC360T + N5550 load balancing : 33MB/s ??  (Lu 21619 fois)

0 Membres et 1 Invité sur ce sujet

scavenger

  • Abonné Free adsl
  • *
  • Messages: 12
  • Paris (75)
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« le: 16 juin 2012 à 14:49:13 »
bonjour  :)

je veux tout d'abord remercier les auteurs d'iPerf : vraiment ça change la life  :D
c'est un outil simple, efficace, qui ne ment pas, et gratuit. MERCI !

:-\ ensuite voici la raison de ma venue : je suis en réseau double câblage avec un NAS qui potentiellement transfert à 90MB/s mais j’obtiens au mieux 56MB/s vers le NAS, et 37MB/s vers le PC, en samba (partages Windows classiques)
Comme je n'arrive pas à poster quoi que ce soit sur le forum NetGear, je tente ici

=> la vitesse de transfert est différente dans les 2 sens : plus rapide vers le NAS en samba
=> le taux de transfert donné par iPerf est exactement l'inverse : plus rapide vers le PC
=> load balancing ou 802.3ad donnent les mêmes performances
=> MTU 1500, 4096 ou 9014 c'est pareil


ma config :
PC Windows XP64 + SSD + HP NC360T mode load balancing MTU 1500
NAS N5550 RAID5 5 disques mode load balancing MTU 1500
L2 switch NetGear GS108T avec un LAG 2 ports par membre, pas de VLAN, MTU 9216 max partout


les tests :
1) NAS serveur :
iperf -c 192.168.0.100 -P 1 -i 1 -p 5001 -l 8K -f M -t 5 -m -L 5001
root@N5550:/raid/data/share # iperf -s -P 1 -i 1 -m -p 5001 -f M
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 0.08 MByte (default)
------------------------------------------------------------
[  4] local 192.168.0.100 port 5001 connected with 192.168.0.1 port 2283
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  36.9 MBytes  36.9 MBytes/sec
[  4]  1.0- 2.0 sec  31.9 MBytes  31.9 MBytes/sec
[  4]  2.0- 3.0 sec  31.9 MBytes  31.9 MBytes/sec
[  4]  3.0- 4.0 sec  44.9 MBytes  44.9 MBytes/sec
[  4]  4.0- 5.0 sec  44.6 MBytes  44.6 MBytes/sec
[  4]  0.0- 5.0 sec   190 MBytes  38.0 MBytes/sec
[  4] MSS size 1460 bytes (MTU 1500 bytes, ethernet)

2) NAS client :
iperf -s -P 1 -i 1 -m -p 5001 -f M
root@N5550:/raid/data/share # iperf -c 192.168.0.1 -P 1 -i 1 -p 5001 -l 8K -f M -t 5 -m -L 5001
------------------------------------------------------------
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 0.02 MByte (default)
------------------------------------------------------------
[  3] local 192.168.0.100 port 43696 connected with 192.168.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  86.9 MBytes  86.9 MBytes/sec
[  3]  1.0- 2.0 sec  78.3 MBytes  78.3 MBytes/sec
[  3]  2.0- 3.0 sec  58.3 MBytes  58.3 MBytes/sec
[  3]  3.0- 4.0 sec  80.4 MBytes  80.4 MBytes/sec
[  3]  4.0- 5.0 sec  65.9 MBytes  65.9 MBytes/sec
[  3]  0.0- 5.0 sec   370 MBytes  74.0 MBytes/sec
[  3] MSS size 1460 bytes (MTU 1500 bytes, ethernet)

 :o comment peut-on avoir des taux de transferts aussi différents suivant le sens ???
 :o pourquoi ai-je des valeurs aussi fluctuantes ?
 >:( comment configurer mon switch et mes cartes pour obtenir 90MB/s sachant qu'un double câblage doit pouvoir support 112MB/s ?

merci à ceux et celles qui m'aideront !

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #1 le: 16 juin 2012 à 23:42:16 »
Oui, IPERF est un très bon logiciel de test de débit (je n'en suis pas l'auteur, j'ai juste compilé des versions pour ceux qui n'ont pas le courage de le faire sur le site https://iperf.fr). Pour le downlaod, j'aime bien wget -O /dev/null mais pour l'upload, Iperf est le seul à pouvoir faire des tests a 1 Gb/s.

Bon, ma réponse va être assez simple : pour envoyer des données a 1 Gb/s, il faut quand même pas mal de CPU, je ne pense pas que ton NAS arrive à suivre. Par contre, quand il reçoit les données, opération plus simple, cela lui pose moins de problème et le débit est plus élevé.

Pourrais-tu re-faire les tests en regardant le % d'utilisation du CPU sur ton NAS (par exemple avec la commande top)

Tu pourra voir mes tests de débits avec un Celeron 600 Mhz (moins performant que ton NAS, je n'ai pas dit le contraire)
=> Test de perf avec un Celeron 600 Mhz

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #2 le: 17 juin 2012 à 13:25:53 »
Bon, ma réponse va être assez simple : pour envoyer des données a 1 Gb/s, il faut quand même pas mal de CPU, je ne pense pas que ton NAS arrive a suivre. Par contre, quand il reçoit les données, opération plus simple, cela lui pose moins de problème et le débit et plus élevé.
Ben justement, il me semble bien que c'est l'inverse qu'on voit dans ses traces : ~40 Mo/s en réception contre ~80 Mo/s en émission.

À titre de comparaison, un échange avec les mêmes paramètres entre mon Mac mini (Core2 Duo) et une de mes Cubox (processeur ARM v7 800 MHz, plus ou moins équivalent en puissance à un Atom single core) me donne ~65 Mo/s en réception contre ~55 Mo/s en émission (avec une unique interface Ethernet Gigabit sur chacun).
La petite boite arrive donc bien à recevoir ~10 Mo/s de plus que ce qu'elle est capable d'envoyer.

Et entre le Mac et mon NAS (Atom D525) : ~70 Mo/s en émission et ~110 Mo/s en réception (même pas besoin d'un double câblage ^^).

Edit : apparemment, le Thecus N5500 est équipé d'un processeur Celeron M 1.86GHz - ça ne doit pas aider ...
Edit 2 : SmallNetBuilders indique avoir obtenu des taux de transferts de fichiers de 70 Mo/s avec le bestiau. Le proc est donc sans doute suffisamment bien taillé.
« Modifié: 17 juin 2012 à 14:20:13 par seb »

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #3 le: 17 juin 2012 à 13:42:22 »
iperf -c est la partie qui èmet les paquets.
iperf -s est la partie qui reçoit les paquets.

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #4 le: 17 juin 2012 à 13:58:11 »
C'est bien ce que je dis.

Tiens-t'en aux traces, et pas à leurs intitulés (trompeurs, car partiellement inversés).

Dans les deux cas, la commande iperf est lancée depuis le NAS :
root@N5550:/raid/data/share # iperf -s -P 1 -i 1 -m -p 5001 -f M
(...)
[  4]  0.0- 5.0 sec   190 MBytes  38.0 MBytes/sec
~40 Mo/s en réception.

root@N5550:/raid/data/share # iperf -c 192.168.0.1 -P 1 -i 1 -p 5001 -l 8K -f M -t 5 -m -L 5001
(...)
[  3]  0.0- 5.0 sec   370 MBytes  74.0 MBytes/sec
~80 Mo/s en émission.

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #5 le: 17 juin 2012 à 14:27:27 »
oui, c'est l'inverse, je me suis emmêlé les pinceaux.

Réception du NAS : 38 Mio/s
Émission du NAS : 74 Mio/s

C'est le cas aussi avec iperf sans les options (dont beaucoup sont a la valeur par défaut) ?
Un truc simple du genre iperf -s -i 2 et iperf -c 192.168.0.1 -i 2

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #6 le: 17 juin 2012 à 15:01:13 »
Mio/s. C'est vrai que iperf indique des Mo/s, mais que la conversion est réalisée en base 1024.

C'est le cas aussi avec iperf sans les options (dont beaucoup sont a la valeur par défaut) ?
Je doute que ça change quelque chose, j'obtiens chez moi les mêmes résultats en ne conservant que l'option "-f M".

scavenger, il y a clairement un truc qui cloche dans ta configuration.

Avant de te faire du mal avec le débogage de port-trunking/link-aggregation/load-balancing/jumbo-frames et consorts, je t'encourage vivement à remettre tous tes équipements en configuration basique (1 seul lien GbE connecté par équipement, MTU standard), et de refaire des tests afin de savoir ce que tu es capable d'en tirer dans ces conditions.

Si ça se trouve (j'ai déjà été confronté à ce cas avec mon précédent NAS), ça sera bien plus performant en standard qu'en mode usine à gaz (d'après les tests réalisés par SmallNetBuilders, tu arriveras péniblement à saturer un seul lien GbE : alors, pourquoi t'emmerder à en monter deux ?).

scavenger

  • Abonné Free adsl
  • *
  • Messages: 12
  • Paris (75)
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #7 le: 18 juin 2012 à 01:28:30 »
merci des commentaires ^^

1) je suis repassé en 802.3ad des 2 côtés
2) j'ai repassé la MTU à 9000 des 2 côtés
3) j'ai refait le test avec le NAS en mode serveur et le PC client qui fait l'aller-retour, c'est plus simple :


PC  : iperf -c n5550 -i 1 -f M -t 5 -r
NAS : root@N5550:/root # iperf -s -i 1 -m -p 5001 -f M

nmon─14g──────[H for help]───Hostname=N5550────────Refresh= 1secs ───23:10.26──
│ CPU Utilisation ─────────────────────────────────────────────────────────────
│---------------------------+-------------------------------------------------+
│CPU  User%  Sys% Wait% Idle|0          |25         |50          |75       100|
│  1   3.0   6.9   0.0  90.1|Usss   >                                         |
│  2   3.0  12.0   0.0  85.0|Ussssss >                                        |
│  3   3.0   6.0   0.0  91.0|Usss   >                                         |
│  4   4.0  10.9   0.0  85.1|Usssss   >                                       |
│---------------------------+-------------------------------------------------+
│Avg   3.5   8.9   0.0  87.6|Ussss >                                          |
│---------------------------+-------------------------------------------------+
                 

la CPU (Atom D2550 quad core 1.86Ghz) est clairement peu utilisée pendant le test : les pics (>) représentent la réception, les valeurs (Usss) représente l'émission.

quand aux résultats :
[  5] local 192.168.0.100 port 5001 connected with 192.168.0.1 port 2432
[  5]  0.0- 1.0 sec  0.23 MBytes  0.23 MBytes/sec
[  5]  1.0- 2.0 sec  0.05 MBytes  0.05 MBytes/sec
[  5]  2.0- 3.0 sec  0.05 MBytes  0.05 MBytes/sec
[  5]  3.0- 4.0 sec  0.05 MBytes  0.05 MBytes/sec
[  5]  4.0- 5.0 sec  0.05 MBytes  0.05 MBytes/sec
[  5]  0.0- 5.6 sec  0.45 MBytes  0.08 MBytes/sec
[  5] MSS size 8960 bytes (MTU 9000 bytes, unknown interface)
------------------------------------------------------------
Client connecting to 192.168.0.1, TCP port 5001
TCP window size: 0.31 MByte (default)
------------------------------------------------------------
[  5] local 192.168.0.100 port 54370 connected with 192.168.0.1 port 5001
[  5]  0.0- 1.0 sec   119 MBytes   119 MBytes/sec
[  5]  1.0- 2.0 sec   118 MBytes   118 MBytes/sec
[  5]  2.0- 3.0 sec   118 MBytes   118 MBytes/sec
[  5]  3.0- 4.0 sec   117 MBytes   117 MBytes/sec
[  5]  4.0- 5.0 sec   118 MBytes   118 MBytes/sec
[  5]  0.0- 5.0 sec   590 MBytes   118 MBytes/sec

J'ai bien à un moment du 118 MB/s comme attendu vu ma config, mais uniquement en émission du NAS. J'ai remarqué également sur mes 2 cartes réseau sur le NAS, que eth0 était utilisée uniquement en émission, et l'autre eth1 uniquement en réception.

4) Ceci est absolument discordant avec les taux de transfert que j'ai en samba : 52MB/s en réception et 37MB/s en émission. C'est tout le contraire.
exactement comme les tests du début, en mode load balancing.


- Pendant tous les tests la CPU n'a jamais dépassé 30% et les disques n'ont jamais dépassé 75% d'utilisation en R/W
- j'utilise un ramdisk pour les transferts samba, pour éviter les bottlenecks SATA

J'ai évidemment un souci dans ma config mais je n'arrive pas à mettre le doigt dessus. Il y a un bottleneck quelque part.
Je vais suivre vos conseils et repasser en 1 seul câble des deux côtés et préparer un plan de tests complets.

 :P Également si vous connaissez des forums avec des geeks furieux du réseau, je suis toute ouïes ! Je ne connais dans mon entourages que des experts DBA ou JEE, en réseau je ne connais personne ^^
A part vous lol
mais merci déjà

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #8 le: 18 juin 2012 à 02:10:54 »
J'ai bien à un moment du 118 MB/s comme attendu vu ma config, mais uniquement en émission du NAS. J'ai remarqué également sur mes 2 cartes réseau sur le NAS, que eth0 était utilisée uniquement en émission, et l'autre eth1 uniquement en réception.
Si tu as deux interfaces agrégées, et qu'elles sont bien configurées en actif-actif, tu devrais pouvoir dépasser 200 Mio/s.

Ils fonctionnent sous Linux, les Thecus, il me semble ?

Si oui, peux-tu passer la commande suivante dessus :
cat /proc/net/bonding/bond0

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #9 le: 18 juin 2012 à 09:13:11 »
Etherchannel - Bonding :

Coté Linux, Etherchannel s'appelle bondind et se matérialise sous la forme d'un module disponible en standard dans le noyau. Comme pour le switch, on regroupe plusieurs interfaces physiques (ethx) sur une interface logique (nommée bondx, x est le numéro de l'interface). Les solutions offertes par le bonding sont nombreuses :

- Mode 0 : Round Robin (équilibrage de charge) : Ce mode augmente la bande passante et gère la tolérance de panne. Groupement de ports pour load balancing et Failover : Le trafic sortant de l'interface est émis alternativement sur chacune des interfaces. Les ports du switch sont groupés avec Etherchannel. Par contre la configuration est statique sans protocole PagP ou LACP (802.3ad).

- Mode 1 : Active - passive / Active backup : Failover seulement : Seule une des interfaces physique est active et répond au requêtes arp. Pas de propriétés particulière sur le switch.

- Mode 2 : Balance-XOR : Groupement de ports pour load balancing et Failover : Le switch est configuré en Etherchannel. Dans le sens sortant, le serveur Linux choisit l'interface physique en fonction de l'adresse mac (source ou destination, ou XOR sur les deux). Sur le switch Cisco, Etherchannel fonctionne aussi sur ce principe (le load balancing effectué sur le switch concerne le trafic entrant sur le serveur Linux). Ainsi les transferts sont parallélisés et le choix de l'interface suit la règle : (Adresse MAC de la source XOR Adresse MAC de la destination) modulo nombre d'interfaces.

- Mode 3 : Broadcast : Failover seulement : Le trafic est transmis sur toutes les interfaces physiques.

- Mode 4 : IEEE 802.3ad : Groupement de ports pour load balancing et Failover : Fonctionne les switchs Ethernet qui supportent cette norme. Le mécanisme de load blancing est similaire à celui du mode Balance-XOR.Il est basé sur le principe qui consiste à affecter toujours le même chemin à la même machine en fonction du couple IP source / IP destination / port. Cela implique que le switch gère le 802.ad et que les interfaces soient compatibles mii-tool et/ou ethtool.

La répartition du trafic se fait par un hash XOR (eXclusive OR ou OU exclusif) en fonction des arguments sélectionnables suivants :

  • niveau 2 (adresses MAC source et adresses MAC destination) ;
  • niveau 3 (IP source et IP destination) ;
  • niveau 4 (port source et port destination).
Tous les ports d'un groupe doivent obligatoirement être paramétrés à la même vitesse, même duplex (full/half), même VLAN, même mode (access/trunk).

- Mode 5 : Adaptive transmit load balancing (balance-tlb) : Load balancing dans le sens sortant uniquement : Le trafic sortant de l'interface est émis de sur l'une ou l'autre des interfaces physique en fonction de le charge. Dans le sens entrant, une seule des interfaces physique répond au requêtes ARP. Aucune configuration particulière n'est nécessaire sur le switch. Les drivers de la carte ethernet sur le serveur Linux doivent être compatibles ethool.

- Mode 6 : Adaptative load balancing (balance-alb) : Load balancing dans les deux sens. Reprend le mécanisme balance-tlb dans le sens sortant. Dans le sens entrant, le bonding intercepte les requêtes ARP pour renvoyer alternativement l'adresse des interfaces physiques.
Adaptive load balancing : ce mode inclut en plus du tlb un load balancing sur le flux entrant et seulement pour un trafic IPV4. L'équilibrage est réalisé au niveau ARP. Le module intercepte les réponses pour y réécrire l'adresse MAC de l'une des interfaces du bond tout en tenant compte des spécificités du protocole ARP. La répartition entre les différentes interfaces, se fait de façon séquentielle ( round robin ).

Tous ces modes sont listés et expliqués dans la documentation du module bonding qui est livrée avec les sources du noyau.

Le mode 4 IEEE 802.3ad est conseillé avec des switch Cisco.



Exemple de fichier de configuration en mode IEEE 802.3ad avec Ubuntu :
(mode 4 - conseillé avec un switch Cisco)

- Vérifier que le paquet pour gérer le bonding est bien installé (c'est généralement le cas avec les distributions serveur) :
apt install ifenslave-2.6

- Définition du type de bonding a utiliser :
nano -w /etc/modprobe.d/aliase-bond.conf


alias bond0 bonding
options bonding mode=4 xmit_hash_policy=layer3+4 miimon=100 downdelay=200 updelay=200

mode=4 : signifie que nous utilisons le mode 802.3ad
xmit_hash_policy=layer3+4 : choix de l'interface en upload via les info niveau 3 (IP source et IP destination) et 4 (port source et port destination). Par défaut c'est le niveau 2 (adresse mac) => Dans la cas d'un serveur avec une passerelle par défaut, tout le trafic hors du réseau local part via la même interface. Cela ne concerne que l'upload. Pour le download, la configuration se fait sur le switch.
miimon=100 : une vérification de l'état des interfaces physiques est effectuée toutes les 100ms.


-  Définition de l'interface réseau :
nano -w /etc/network/interfaces

# The primary network interface
#auto eth0
#iface eth0 inet dhcp

auto eth0
auto eth1
auto bond0
iface bond0 inet static
      address 138.21.127.54
      netmask 255.255.255.240
      network 138.21.127.48
      broadcast 138.21.127.63
      gateway 138.21.127.62
      up /sbin/ifenslave bond0 eth0 eth1
      down /sbin/ifenslave -d bond0 eth0 eth1

Certaines machines vont utiliser eth0 et d'autres eth1. A noter qu'un même PC, même protocole et même port peut utiliser eth0 en download et eth1 en upload.

En cas de panne d'une des deux liaisons, le trafic passe intégralement par l'autre.
En cas de ré-installation du serveur : l'accès internet est possible dès l'installation sans le bonding et sans reconfiguration du routeur.

vivien

  • Administrateur
  • *
  • Messages: 47 086
    • Twitter LaFibre.info
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #10 le: 18 juin 2012 à 09:16:34 »
Donc pour résumer dans le bonding utilisé habituellement une connexion TCP passe toujours par le même lien Ethernet.

Par contre quand on a plusieurs connexions TCP (venant d'une même machine ou de plusieurs) une partie sera toujours envoyée sur la première interface réseau et une partie toujours envoyée sur la seconde interface réseau.

Avec iperf je te conseille donc de faire varier les N° de ports et tu vas voir que tes deux interfaces devraient être utilisées en in et en out.

scavenger

  • Abonné Free adsl
  • *
  • Messages: 12
  • Paris (75)
GS108T + NC360T + N5550 load balancing : 33MB/s ??
« Réponse #11 le: 18 juin 2012 à 20:07:04 »
Si tu as deux interfaces agrégées, et qu'elles sont bien configurées en actif-actif, tu devrais pouvoir dépasser 200 Mio/s.
Ils fonctionnent sous Linux, les Thecus, il me semble ?

oui oui et c'est une dérivation de RedHat je suppose :
/raid/data/ # uname -a
Linux N5550 2.6.38 #1 SMP Wed Apr 18 17:58:27 CST 2012 x86_64 GNU/Linux

cat /proc/version
Linux version 2.6.38 (root@FC12-27) (gcc version 4.4.3 20100127 (Red Hat 4.4.3-4) (GCC) ) #1 SMP Wed Apr 18 17:58:27 CST 2012

Si oui, peux-tu passer la commande suivante dessus :
cat /proc/net/bonding/bond0

bien sur :
root@N5550:/root # cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.0 (June 2, 2010)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 300
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
        Aggregator ID: 2
        Number of ports: 2
        Actor Key: 17
        Partner Key: 14
        Partner Mac Address: 74:44:01:xx:xx:xx

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:14:fd:xx:xx:xx
Aggregator ID: 2
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: 00:14:fd:xx:xx:xx
Aggregator ID: 2
Slave queue ID: 0

mais j'ai de la lecture là !!!
merci je vais lire ça ce soir  :D