Auteur Sujet: FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6  (Lu 75817 fois)

0 Membres et 1 Invité sur ce sujet

Breizh29

  • Abonné Free fibre
  • *
  • Messages: 408
  • Ergué-Gabéric (29)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #300 le: 15 février 2020 à 18:06:27 »
Je confirme que dans les 2 cas, cela m'indique qu'il s'agit d'un serveur hébergé à Paris.
Alors comment expliquer ce que j'ai observé clairement ?
J'ai essayé une désactivation/réaction de la connexion réseau, et même un reboot du serveur (bon, là c'est merci à ma jeune fille - c'est irrésistible le bouton allumé en bleu d'un NUC-, mais ça a eu le mérite de prouver que ça ne venait pas de la VM, au moins...). Dans les deux cas, ça n'a rien amélioré.
Alors que dès que je suis passé de paris.xxx à bouygues.xxx, directement tout est allé mieux...

vivien

  • Administrateur
  • *
  • Messages: 47 228
    • Twitter LaFibre.info
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #301 le: 15 février 2020 à 20:41:27 »
C'est étonnant que tu vois une différence entre paris.testdebit.info, bouygues.testdebit.info.

Les IP sont différentes mais, pour un client Free, c'est la même machine et si un port iPerf3 est utilisé avec paris.testdebit.info il sera inutilisable pour bouygues.testdebit.info.

Pour les machines virtuelles, ton système d’exploitation invité va voir une carte Intel 1 Gb/s, mais il est normalement possible de dépasser 1 Gb/s. Un test que tu peut réaliser, c'est un iPerf entre l’hôte et l'invité. Le débit devrait monter bien haut, probablement plus de 10 Gb/s.

Pour le protocole de congestion TCP, ce qui compte c'est le choix sur la machine qui émet les paquets. Peu importe le protocole sur la machine qui reçois les paquets.

Breizh29

  • Abonné Free fibre
  • *
  • Messages: 408
  • Ergué-Gabéric (29)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #302 le: 15 février 2020 à 20:54:30 »
C'est étonnant que tu vois une différence entre paris.testdebit.info, bouygues.testdebit.info.

Les IP sont différentes mais, pour un client Free, c'est la même machine et si un port iPerf3 est utilisé avec paris.testdebit.info il sera inutilisable pour bouygues.testdebit.info

Lorsque j’ai le problème, je n’ai pas de réponse du serveur avant un timeout probable.
Edt-ce qu’il ne pourrait pas y avoir un problème de routage, en l’occurrence en IPv6, sur le nom paris.xxx là où ce souci n’existe pas avec bouygues.xxx ?

Breizh29

  • Abonné Free fibre
  • *
  • Messages: 408
  • Ergué-Gabéric (29)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #303 le: 15 février 2020 à 21:05:27 »
Pour le protocole de congestion TCP, ce qui compte c'est le choix sur la machine qui émet les paquets. Peu importe le protocole sur la machine qui reçois les paquets.

Uniquement ?
Quand on est passé à bbr depuis le mac, les débits ont beaucoup baissé par rapport à cubic/illinois.
Alors que là, en l’activant depuis la VM Linux, au contraire, les débits ont largement monté.
J’imagine bien qu’il y a d’autres facteurs différenciants côté OS, mais tout de même...

vivien

  • Administrateur
  • *
  • Messages: 47 228
    • Twitter LaFibre.info
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #304 le: 15 février 2020 à 22:13:44 »
Breizh29, serait-il possible d'indiquer ici chaque changement de configuration ?

Cela permet de savoir quel modification sur la courbe est liée à quelle modification.

C'est vraiment pratique pour exploiter les résultats.

Je suis aussi preneur du processeur de ton mac (tu me l'a donné, mais quand j'ai cherché, impossible de le retrouver)

Pour ton NUC10 + Solo 10G , je suis intéressé par :
- lscpu
- lspci (je n'ai jamais eu de Thunderbolt 3, je ne sais pas si cela apparaît dans un lspci)
- free -m
- lsb_release -a
- uname -a
- version iPerf3 utilisée
- les optimisation réalisées.

Exemple avec l'optimisation du coté serveur : Fichier /etc/sysctl.d/90-server-optimization.conf
# Reduce the swap
vm.swappiness = 1

# Disable the memorization of previous tests, in order to avoid that the server burns the tests following a limited performance
net.ipv4.tcp_no_metrics_save=1

# Increase TCP buffers
net.ipv4.tcp_rmem=4096 131072 16777216
net.ipv4.tcp_wmem=4096 87380 16777216
net.core.rmem_max=16777216
net.core.wmem_max=16777216

# Increase the queue within the Linux kernel where traffic is stored after reception from the NIC
net.core.netdev_max_backlog=4000

# Reduce the threshold where a DDOS impacts the server
net.ipv4.tcp_max_syn_backlog = 4096

# Increase number of incoming connections
net.core.somaxconn = 512

Enfin je te remercie pour tes tests qui intéressent beaucoup de monde (certains personnes ont tenté de comparer BBR et Cubic sur un réseau de test, sans aucune perte de paquets et ils étaient étonnés de ne pas voir de différences).

Un vrai réseau avec des vraies pertes et une latence non nulle est vraiment idéal pour comparer les algorithmes de congestion.

Breizh29

  • Abonné Free fibre
  • *
  • Messages: 408
  • Ergué-Gabéric (29)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #305 le: 15 février 2020 à 23:57:47 »
Breizh29, serait-il possible d'indiquer ici chaque changement de configuration ?
Déjà réalisé sur le post 1 - j'ai depuis rajouté des précisions eu égard à tes questions ci-dessous.

Je suis aussi preneur du processeur de ton mac (tu me l'a donné, mais quand j'ai cherché, impossible de le retrouver)
Tu veux pas le retenir celui-là  ;)
C'est un i7 8700B


Pour ton NUC10 + Solo 10G , je suis intéressé par :
- lscpu
- lspci (je n'ai jamais eu de Thunderbolt 3, je ne sais pas si cela apparaît dans un lspci)
- free -m
- lsb_release -a
- uname -a
J'ai mis tout ça dans le fichier joint.
Note: je n'ai affecté "que" 4 vCPU (sur 12) à la VM, et 4 Go de RAM.

- version iPerf3 utilisée
version 3.6

- les optimisation réalisées.
Cf. post 1

Breizh29

  • Abonné Free fibre
  • *
  • Messages: 408
  • Ergué-Gabéric (29)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #306 le: 16 février 2020 à 00:00:40 »
Avec bbr depuis la VM Ubuntu, j'ai passé la soirée au-dessus des 7 Gb/s en multithread, et d'honorables 3,6 à 4 Gb/s en monothread 8)
C'est impressionnant !
Hâte de le mettre à l'épreuve du dimanche soir...

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 092
  • Paris (75)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #307 le: 16 février 2020 à 01:26:39 »
il est dans une VM sur ESXi donc on ne voit pas la partie TB3.
Son interface réseau 10G est un solo10G  (contrôleur Aquantia  AQC107 dedans) dans un port TB3, voila ce que donnerai un lspci -tv en barematel dessus:

           +-1c.4-[02-6c]----00.0-[03-6c]--+-00.0-[04]----00.0  Intel Corporation JHL6340 Thunderbolt 3 NHI (C step) [Alpine Ridge 2C 2016]
           |                               +-01.0-[05-6b]----00.0-[06-07]----01.0-[07]----00.0  Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]

l'hyperviseur vmware présente l'interface comme un VMXNET3. En dessous c'est le driver d'Aquantia, "atlantic" inclut dans le noyau linux, mais la version vmklinux pour ESXi (a moins qu'une version native existe?)

voici les détails complets de l'AQC107 vu du bus pci (sudo lspci -vv):

07:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)
        Subsystem: Sonnet Technologies, Inc. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 18
        Region 0: Memory at 90240000 (64-bit, non-prefetchable) [size=64K]
        Region 2: Memory at 90250000 (64-bit, non-prefetchable) [size=4K]
        Region 4: Memory at 90400000 (64-bit, non-prefetchable) [size=4M]
        [virtual] Expansion ROM at 90200000 [disabled] [size=256K]
        Capabilities: [40] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s unlimited, L1 unlimited
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 8GT/s (ok), Width x4 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                         AtomicOpsCtl: ReqEn-
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+
                         EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest-
        Capabilities: [80] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [90] MSI-X: Enable+ Count=32 Masked-
                Vector table: BAR=2 offset=00000000
                PBA: BAR=2 offset=00000200
        Capabilities: [a0] MSI: Enable- Count=1/32 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [c0] Vital Product Data
pcilib: sysfs_read_vpd: read failed: Input/output error
                Not readable
        Capabilities: [100 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [150 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
        Capabilities: [180 v1] Secondary PCI Express <?>
        Kernel driver in use: atlantic
        Kernel modules: atlantic

et l'offload supporté par ce driver (ethtool --show-offload ens8) (ca n'indique pas comment ESXi le configure).

Features for ens8:
rx-checksumming: on
tx-checksumming: on
        tx-checksum-ipv4: off [fixed]
        tx-checksum-ip-generic: on
        tx-checksum-ipv6: off [fixed]
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: off [fixed]
scatter-gather: on
        tx-scatter-gather: on
        tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: off [fixed]
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: on
receive-hashing: on
highdma: off [fixed]
rx-vlan-filter: on
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: on
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
tx-udp-segmentation: on
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]
tls-hw-tx-offload: off [fixed]
tls-hw-rx-offload: off [fixed]
rx-gro-hw: off [fixed]
tls-hw-record: off [fixed]

vivien

  • Administrateur
  • *
  • Messages: 47 228
    • Twitter LaFibre.info
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #308 le: 16 février 2020 à 09:44:07 »
Merci pour les info sur la première page, j'avais zappé.

C'est un i7 8700B

Le Core i7-8700B est un 6 cœurs / 12 threads 3,2 GHz en fréquence de base / 4,6 Ghz en boost.
Ce qui est impressionnant, c'est le TDP/PDT de 65 watts pour un processeur catégorisé "mobile"

Cela change de mon Core i5-8250U : 4 cœurs / 8 threads à 1,6 GHz en fréquence de base / 3,4 Ghz en boost en un TDP/PDT de 15 watts.

Breizh29

  • Abonné Free fibre
  • *
  • Messages: 408
  • Ergué-Gabéric (29)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #309 le: 16 février 2020 à 12:21:01 »
En dessous c'est le driver d'Aquantia, "atlantic" inclut dans le noyau linux, mais la version vmklinux pour ESXi (a moins qu'une version native existe?)

Non, c'est bien celui-là que j'ai téléchargé séparément pour l'inclure dans une version custom de l'iso de l'ESXi.

C'est peu chiant, car il faut partir d'un clone de l'iso "officielle", retirer par ailleurs le driver ne1000 inclus et le remplacer par une autre version (car il n'est pas compatible avec le chip réseau intégré des nuc10 et fait planter l'installation).
Juste pour ça, je me suis déployé un vCenter dans une VM de mon ancien ESXi pour faire la manip (l'autre méthode est à base de Powershell...). Bon, ça me permet de découvrir, mais c'est sacrément chronophage...

Breizh29

  • Abonné Free fibre
  • *
  • Messages: 408
  • Ergué-Gabéric (29)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #310 le: 16 février 2020 à 16:35:38 »
J'ai amélioré ma gestion du timeout dans le script, car IPv6 est depuis ce midi encore dans les choux sur le serveur (en tout cas, depuis chez moi, ça "tombe dans le vide" en v6 là où je n'ai pas de problème en v4 - et j'ai encore validé que relance réseau ou reboot VM ne solutionnait pas).
Du coup, si je tombe en timeout dans un protocole, je ne poursuis pas les tests pour ce protocole.

PS: lors des soucis, ping et traceroute fonctionnent toujours.

PS2: revenu depuis 17h10. Vivien, tu as corrigé quelque chose ?
« Modifié: 16 février 2020 à 17:34:59 par Breizh29 »

vivien

  • Administrateur
  • *
  • Messages: 47 228
    • Twitter LaFibre.info
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #311 le: 16 février 2020 à 18:22:01 »
Je n'ai rien changé.

iPerf3 écoute de la même façon en IPv4 et en IPv6.

Je ne vois pas comment c'est possible que cela ne fonctionne pus en IPv6 alors que tu ping le serveur en IPv6 et que le service est fonctionnel en IPv4.

Cela serait possible de tester la disponibilité du serveur web quand tu as un problème ?

Fichier de 500 Ko en IPv4 : https://ipv4.bouygues.testdebit.info/500k/500k.jpg
Fichier de 500 Ko en IPv6 : https://ipv6.bouygues.testdebit.info/500k/500k.jpg

C'est une image jpeg de 500 000 octets qui s'affiche parfaitement dans un navigateur web.