Auteur Sujet: FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6  (Lu 75568 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 #60 le: 10 janvier 2020 à 13:29:50 »
Donc tu es connecté à Miossec, c'est ça ?
Moi je suis sur Quimper Gare, normalement.

esver

  • Abonné Free fibre
  • *
  • Messages: 73
  • Quimper (29)
    • Blog
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #61 le: 10 janvier 2020 à 13:40:29 »
Oui je suis bien sur Miossec (29232QRM dans mon compte free)

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 #62 le: 11 janvier 2020 à 09:59:52 »
Petite mise à jour du matin  :)
Toujours des débits qui montent haut, mais on confirme des écarts sur la journée plus importants qu'avec Illinois.

Note: Hier, 10/01/2020, il n'y a pas eu de chiffres entre 9h20 et 17h50 (ces données là étant présentes). Les courbes de tendance s'en ressentent donc.

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 #63 le: 11 janvier 2020 à 10:15:13 »
@kgersen et les autres spécialistes :

Pour ce qui est de la pile TCP, voici les valeurs que j'avais positionnées dans mon sysctl.conf (mises en commentaires pour le moment) :

#net.inet.tcp.win_scale_factor=8
#net.inet.tcp.autorcvbufmax=33554432
#net.inet.tcp.autosndbufmax=33554432

#net.inet.tcp.sendspace=1042560
#net.inet.tcp.recvspace=1042560

#net.inet.tcp.mssdflt=1448
#net.inet.tcp.v6mssdflt=1428

#net.inet.tcp.slowstart_flightsize=20
#net.inet.tcp.local_slowstart_flightsize=9

sachant que les valeurs actuelles (et a priori natives) de mon OS pour net.inet.tcp sont :

net.inet.tcp.rfc1644: 0
net.inet.tcp.mssdflt: 512
net.inet.tcp.keepidle: 7200000
net.inet.tcp.keepintvl: 75000
net.inet.tcp.sendspace: 131072
net.inet.tcp.recvspace: 131072
net.inet.tcp.keepinit: 75000
net.inet.tcp.v6mssdflt: 1024
net.inet.tcp.backoff_maximum: 65536
net.inet.tcp.ecn_timeout: 60
net.inet.tcp.disable_tcp_heuristics: 0
net.inet.tcp.clear_tfocache: 0
net.inet.tcp.log_in_vain: 0
net.inet.tcp.blackhole: 0
net.inet.tcp.delayed_ack: 3
net.inet.tcp.tcp_lq_overflow: 1
net.inet.tcp.recvbg: 0
net.inet.tcp.drop_synfin: 1
net.inet.tcp.reass.overflows: 0
net.inet.tcp.slowlink_wsize: 8192
net.inet.tcp.maxseg_unacked: 8
net.inet.tcp.rfc3465: 1
net.inet.tcp.rfc3465_lim2: 1
net.inet.tcp.recv_allowed_iaj: 5
net.inet.tcp.doautorcvbuf: 1
net.inet.tcp.autorcvbufmax: 2097152
net.inet.tcp.lro: 0
net.inet.tcp.lrodbg: 0
net.inet.tcp.lro_startcnt: 4
net.inet.tcp.disable_access_to_stats: 1
net.inet.tcp.challengeack_limit: 10
net.inet.tcp.do_rfc5961: 1
net.inet.tcp.rcvsspktcnt: 512
net.inet.tcp.rexmt_thresh: 3
net.inet.tcp.path_mtu_discovery: 1
net.inet.tcp.slowstart_flightsize: 1
net.inet.tcp.local_slowstart_flightsize: 8
net.inet.tcp.tso: 1
net.inet.tcp.ecn_setup_percentage: 100
net.inet.tcp.ecn_initiate_out: 2
net.inet.tcp.ecn_negotiate_in: 2
net.inet.tcp.packetchain: 50
net.inet.tcp.socket_unlocked_on_output: 1
net.inet.tcp.rfc3390: 1
net.inet.tcp.min_iaj_win: 16
net.inet.tcp.acc_iaj_react_limit: 200
net.inet.tcp.doautosndbuf: 1
net.inet.tcp.autosndbufinc: 8192
net.inet.tcp.autosndbufmax: 2097152
net.inet.tcp.ack_prioritize: 1
net.inet.tcp.rtt_recvbg: 1
net.inet.tcp.recv_throttle_minwin: 16384
net.inet.tcp.enable_tlp: 1
net.inet.tcp.sack: 1
net.inet.tcp.sack_maxholes: 128
net.inet.tcp.sack_globalmaxholes: 65536
net.inet.tcp.sack_globalholes: 0
net.inet.tcp.fastopen_backlog: 10
net.inet.tcp.fastopen: 3
net.inet.tcp.now_init: 35215102
net.inet.tcp.microuptime_init: 758579
net.inet.tcp.minmss: 216
net.inet.tcp.do_tcpdrain: 0
net.inet.tcp.pcbcount: 88
net.inet.tcp.tw_pcbcount: 0
net.inet.tcp.icmp_may_rst: 1
net.inet.tcp.rtt_min: 100
net.inet.tcp.rexmt_slop: 200
net.inet.tcp.randomize_ports: 0
net.inet.tcp.win_scale_factor: 3
net.inet.tcp.init_rtt_from_cache: 1
net.inet.tcp.tcbhashsize: 4096
net.inet.tcp.keepcnt: 8
net.inet.tcp.msl: 15000
net.inet.tcp.max_persist_timeout: 0
net.inet.tcp.always_keepalive: 0
net.inet.tcp.timer_fastmode_idlemax: 10
net.inet.tcp.broken_peer_syn_rexmit_thres: 10
net.inet.tcp.tcp_timer_advanced: 157
net.inet.tcp.tcp_resched_timerlist: 92483
net.inet.tcp.pmtud_blackhole_detection: 1
net.inet.tcp.pmtud_blackhole_mss: 1200
net.inet.tcp.cc_debug: 0
net.inet.tcp.newreno_sockets: 0
net.inet.tcp.background_sockets: 0
net.inet.tcp.cubic_sockets: 87
net.inet.tcp.use_newreno: 0
net.inet.tcp.cubic_tcp_friendliness: 0
net.inet.tcp.cubic_fast_convergence: 0
net.inet.tcp.cubic_use_minrtt: 0
net.inet.tcp.lro_sz: 8
net.inet.tcp.lro_time: 10
net.inet.tcp.bg_target_qdelay: 100
net.inet.tcp.bg_allowed_increase: 8
net.inet.tcp.bg_tether_shift: 1
net.inet.tcp.bg_ss_fltsz: 2
net.inet.tcp.log.level_info: 0
net.inet.tcp.log.enable: 0
net.inet.tcp.log.enable_usage: connection:0x1 rtt:0x2 ka:0x4 loop:0x10 local:0x20 gw:0x40 syn:0x100 fin:0x200 rst:0x400 dropnecp:0x1000 droppcb:0x2000 droppkt:0x4000
net.inet.tcp.log.rtt_port: 0
net.inet.tcp.log.thflags_if_family: 0
net.inet.tcp.log.privacy: 1
net.inet.tcp.log.rate_limit: 600
net.inet.tcp.log.rate_duration: 60
net.inet.tcp.log.rate_max: 0
net.inet.tcp.log.rate_exceeded_total: 0
net.inet.tcp.log.rate_current: 0

Si jamais vous aviez des idées d'amélioration étant donné les constats sur les iperf...

Merci d'avance.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #64 le: 11 janvier 2020 à 13:58:44 »
sur *BSD dont MacOs s'inspire, pour du 10G on met:

# ajuster le max ipc du noyau car la pile tcp/ip utilise ipc
kern.ipc.maxsockbuf=16777216

# ajuster les max tcp
net.inet.tcp.recvspace=131072
net.inet.tcp.sendspace=131072
net.inet.tcp.sendbuf_max=16777216 (autosndbufmax sur Mac ?)
net.inet.tcp.recvbuf_max=16777216 (autorcvbufmax sur Mac ?)
net.inet.tcp.sendbuf_inc=65536
net.inet.tcp.recvbuf_inc=65536


le point important c'est que le max tcp ne peut dépasser le max ipc.

Apres y'a peut-etre des trucs spécifiques MacOS, attention toutefois a ne pas chercher a appliquer des trucs "anciens" a la version actuelle c'est souvent le souci de copier/coller ce qu'on lit sans comprendre  ;D

et bien backup les valeurs actuelles avant de faire des changements.

Le mieux serait de trouver la doc officiel Apple pour sysctl, apres on peut chercher nous meme les valeurs a changer.

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 #65 le: 11 janvier 2020 à 15:25:38 »
OK merci.

Voici quelques éléments complémentaires :

http://newosxbook.com/bonus/vol1ch16.html

(ce n'est pas la tout dernière version, mais c'est une bonne base je pense)

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 #66 le: 12 janvier 2020 à 09:27:44 »
Mise à jour du matin (9h20).
Comportement similaire à celui de la veille.

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 #67 le: 13 janvier 2020 à 08:20:47 »
Mise à jour de 8h10 ce jour.

@Vivien : le comportement entrevu ces derniers jours se confirme (amplitude plus forte avec cet algo par rapport à Illinois). Si tu y vois un intérêt, on peut passer à un autre algo (ou autres modifications utiles sur le serveur) dans la journée.

vivien

  • Administrateur
  • *
  • Messages: 47 187
    • Twitter LaFibre.info
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #68 le: 13 janvier 2020 à 10:06:08 »
Je suis revenu a illinois depuis 9h45, qui permet d'avoir des résultats plus homogènes et j'ai rajouté une nouvelle modification :

# Désactiver la mémorisation des tests précédents afin d'éviter que le serveur bride les tests suite à une performances limitée
net.ipv4.tcp_no_metrics_save=1


Cela permet que chaque test soit indépendant des précédents, ce qui n'était pas le cas avant.

Voici la liste de mes optimisation : J'ai créer le fichier /etc/sysctl.d/19-patch-swappiness.conf pour que les modif soient permanentes :
# Reduce the swap
vm.swappiness = 2

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

# TCP congestion control protocol for high-speed and long-distance networks
net.ipv4.tcp_congestion_control=illinois
#net.ipv4.tcp_congestion_control=bbr

# Désactiver la mémorisation des tests précédents afin d'éviter que le serveur bride les tests suite à une performances limitée
net.ipv4.tcp_no_metrics_save=1

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

# default queuing discipline for 10GigE speeds
net.core.default_qdisc=fq

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

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



Depuis la migration Ubuntu 18.04 (il y 18 mois) la modification net.core.default_qdisc=fq ne fonctionne plus.

Quand je vérifie je suis en fq_codel savez-vous pourquoi ?

# cat /proc/sys/net/core/default_qdisc
fq_codel

Ubuntu 16.04 avec le même fichier :
$ cat /proc/sys/net/core/default_qdisc
fq

A noter, avec un Ubuntu 16.04 de base (sans modification) on est en pfifo_fast
$ cat /proc/sys/net/core/default_qdisc
pfifo_fast

Autre optimisation qu'il me semble intéressante à tester, porter l'initCwnd de 10 à 90.
(je ne modifie pas tout en même temps, c'est pour une prochaine optim)

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 #69 le: 13 janvier 2020 à 11:53:23 »
C'est marrant, tu viens à peine de repasser à Illinois, et les premières mesures semblent déjà montrer que l'IPv6 est défavorisée par rapport à l'IPv4

date; ipv4 ; ipv6
20200113 09:50:00   6,4    6,04
20200113 10:00:00   6,46   6,2
20200113 10:10:00   6,51   6,03
20200113 10:20:00   6,23   6,37
20200113 10:30:00   6,62   6,09
20200113 10:40:00   7,02   6,17
20200113 10:50:00   6,54   6,07
20200113 11:00:00   6,87   6,03
20200113 11:10:00   6,41   6,1
20200113 11:20:00   6,49   6,15
20200113 11:30:00   6,55   6,19
20200113 11:40:00   6,48   6,12



kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #70 le: 13 janvier 2020 à 12:36:43 »
A mon avis, Illinois n'a aucun intérêt. Il date d'avant cubic.

sur un kernel récent, default_qdisc a la valeur par défaut suffit  (pfifo_fast) d'autant si le serveur ne sert que de speedtest.
'tc -s qdisc show dev eth0' pour voir ce qui est actif.

Pour un serveur speedtest dédié, ce qui est plus inquiétant est d'utiliser Ubuntu 18.04 plutôt qu'une distrib plus a jour niveau kernel/driver (archlinux par exemple).

Ubuntu c'est la voiture familiale pépère , si on veut exploiter a fond son matériel ce n'est pas trop ce que je recommenderai. Apres si le serveur est surdimensionné ca peut le faire.

Florian

  • Abonné Bbox fibre
  • *
  • Messages: 2 077
  • Drocourt (78)
FTTH 10G Free: Mesure de débit automatisé avec iPerf3 en IPv4 vs IPv6
« Réponse #71 le: 13 janvier 2020 à 12:49:32 »
C'est marrant, tu viens à peine de repasser à Illinois, et les premières mesures semblent déjà montrer que l'IPv6 est défavorisée par rapport à l'IPv4

date; ipv4 ; ipv6
20200113 09:50:00   6,4    6,04
20200113 10:00:00   6,46   6,2
20200113 10:10:00   6,51   6,03
20200113 10:20:00   6,23   6,37
20200113 10:30:00   6,62   6,09
20200113 10:40:00   7,02   6,17
20200113 10:50:00   6,54   6,07
20200113 11:00:00   6,87   6,03
20200113 11:10:00   6,41   6,1
20200113 11:20:00   6,49   6,15
20200113 11:30:00   6,55   6,19
20200113 11:40:00   6,48   6,12


Désolé, ca a déjà du être demandé, mais tu passes par des routes/transitaires similaires en v4 et v6 ?