l’Almanet doLys Gnu/Linux – Open Source – Entreprises › Forums › L’almanet doLys Open Source › [Résolu] Network tuning
- This topic has 6 réponses, 2 participants, and was last updated il y a 4 years et 7 months by rogn….
-
AuteurArticles
-
avril 13, 2020 à 10:49 am #11699rogn…Keymaster
Bonjour à *tousse* [/troll]
Je cherche à tuner ma carte réseau pour que celle-ci soit plus performante, et permette le transfert de fichiers plus rapide. En effet, celui-ci, en Up reste bêtement à 2,5 MBps et 3,3MBps constant.
Je passe par des câbles Cat5E et Cat6, et deux box 1Gbps l’une étant en sous réseau de l’autre. Je pensais avoir des taux de transferts bien plus élevés mais apparemment c’est nietAttention, ça s’applique sur des réseaux à basse latence tels que sur des routeurs 1Gbps, et en Wifi 5Ghz, ou de la fibre.
Mais cela peut polluer sur des réseaux 3G/4G à basse fréquence (<1 Ghz) ou de l’ADSL d’il y a 20 ans.Alors,
1 ) j’ai décidé de faire joujou avec les paramètres suivants, ça fait suite à ce sujet de téléchargements lents avec Filezilla : https://dolys.fr/forums/topic/ameliorer-le-debit-de-telechargement-sous-linux/
Mais je souhaite creuser plus loin et mettre fin à une vieille légende qui m’a fait croire que les cartes réseaux « bas de gamme » sont conçues pour le download rapide et l’upload plus lent.2) J’applique dans NetworkManager un MTU sur ma connexion qui par défaut (même en automatique) est à 1500, je l’ai mis à 6000.
#----------------------------------------------------------------------- #TCP and UDP Memory Managment for LAN 1GBps, with Low-Latency #use sudo sysctl -p /etc/sysctl.d/99-sysctl.conf to store parameters #----------------------------------------------------------------------- #TCP core max receive and send Buffer size (*4KB) net.core.rmem_max = 4194304 net.core.wmem_max = 4194304 net.core.optmem_max = 4194304 #TCP core default receive and send Buffer size (*4KB) net.core.rmem_default = 2097152 net.core.wmem_default = 2097152 # #UDP-only ipv4 min receive and send Buffer size (4KB) net.ipv4.udp_wmem_min = 4096 net.ipv4.udp_rmem_min = 4096 #TCP-only min (*4KB), pressure and max. Pressure is the treshold when TCP reclaim buffer memory to move memory use down toward the minimum. net.ipv4.tcp_wmem = 4096 2097152 4194304 net.ipv4.tcp_rmem = 4096 2097152 4194304 # = max(tcp_wmem) * 2 * numbers of clients / 4KB net.ipv4.udp_mem = 20480 20480 20480 net.ipv4.tcp_mem = 20480 20480 20480 #TCP Selective Acknowledgement (set:0 for Low-Latency) net.ipv4.tcp_sack = 0 net.ipv4.tcp_dsack = 0 net.ipv4.tcp_fack = 0 #Gradual speed increase (set:0 for Low-Latency) net.ipv4.tcp_slow_start_after_idle = 0 # #----------------------------------------------------------------------- #Swappinness parametes #----------------------------------------------------------------------- vm.swappiness = 5 vm.vfs_cache_pressure = 50
Il semblerait que seuls les paramètres de swappiness soient effectifs, après un coup de
`sysctl -p /etc/99-sysctl.conf’Je sais que nam1962 avait déjà conseillé ce paramétrage 🙂
EDIT : oui –> https://dolys.fr/forums/topic/ameliorer-le-debit-de-telechargement-sous-linux/Les résultats obtenus : un DL et un UL à 30 MBps ou 200 Mbps, j’ai presque multiplié par 10 ces performances , elles sont tout à fait acceptables.
contact direct sur Matrix --> @rogn:matrix.org
PC : Clevo NL50CU Manjaro - VMs EndeavourOS, Ubuntu 22.04, Debian
Serveur et tunnel SSH : Samsung NP300E7A Manjaro - Mattermost VM Manjaro
Archer C6 pour serveur VPN
Netgear WNR2200 OpenWRTavril 13, 2020 à 5:07 pm #11700nam1962KeymasterHello et bienvenue ! 🙂
Alors oui, j’ai un tuto sur la swappiness qui touche au fichier dont tu parles, j’ai aussi un tuto sur l’optimisation wifi de premier niveau.
Par contre je n’ai pas trop d’expertise sur le network tuning, le peu que je vois est que les réglages dont tu parles semblent concerner des fichiers spécifiques : https://cromwell-intl.com/open-source/performance-tuning/tcp.htmlEt je me demande si les amendements de réglage à ces fichiers ne doivent pas se faire avec des commandes dédiées !
Je serai ravi que de bonne âmes nous donnent leur avis sur la question.
Dans tous les cas, la première étape est sans doute de vérifier les capacités de ta ligne ; compliqué de l' »extérieur » mais il commence à y avoir des outils comme celui de l’Arcep (qui fait également un peu rire : comment ont ils pu mettre 18 ans à décider de le faire, puis 2 ans à juste pondre une beta avec des données incomplètes et une interface pas au point…)
Côté FAI, le tiens a-t’il des outils de test de ligne ?
Un jeune site que j'aime bien, la ferrari du T-shirt ...bio en plus : GoudronBlanc
avril 14, 2020 à 1:51 pm #11701rogn…KeymasterSalut 🙂
Alors j’ai fait plusieurs tests.
Mon routeur fait très bien passer les paquets, que ce soit en Wifi ou en filaire. C’est SSH derrière sur le serveur où j’ai fait du network tuning qui a presque du mal à suivre. \o/Par contre, je viens de découvrir que sur le routeur du FAI, il me priorisait le 2.4 GHz sur un poste et le GHz sur l’autre. Donc, après avoir tout mis en 5GHz, je multiplie par 5 le taux de transfert, mais je soupçonne la kommandantur d’être passée par là en ces temps de con-finement, car j’ai toujours 5 fois moins de vitesse de transfert que sur mon routeur.
Pour la configuration pure du kernel, @nam1962
Ce sont des paramètres qui vont taper dans /proc/sys/net , à l’instar des paramètres de swappiness qu vont taper dans /proc/sys/wm/ , la règle est la même, le fichier doit cependant exister.
Maintenant, c’est au niveau valeurs qu’il faut jouer, j’ai appliqué les valeurs conseillées par Oracle pour du SGBD, mais peut-être qu’il y a mieux.Bonne journée 🙂
contact direct sur Matrix --> @rogn:matrix.org
PC : Clevo NL50CU Manjaro - VMs EndeavourOS, Ubuntu 22.04, Debian
Serveur et tunnel SSH : Samsung NP300E7A Manjaro - Mattermost VM Manjaro
Archer C6 pour serveur VPN
Netgear WNR2200 OpenWRTavril 15, 2020 à 6:23 pm #11702rogn…KeymasterRe, voici une nouvelle configuration qui semble plus stable. J’ai des ratios à 30 Mbps sans perte de vitesse dans les deux sens sur le sub-LAN. À cette vitesse, ssh tourne à 65% (mais comme je suis tout seul sur la ligne, ça n’impacte pas 🙂 )
Cela s’applique sur du câble Cat5E, du Wifi AC 5GHz en WPA2 AES, et un routeur 1GBps .
J’ai aussi modifié le MTU de la connexion qui de base est à 1500, pour 6000 (la boucle locale est à 65536 !)#TCP and UDP Memory Managment for LAN 1GBps, with Low-Latency #use sudo sysctl -p /etc/sysctl.d/99-sysctl.conf to store parameters #TCP max receive and send Buffer size (*4KB) net.core.rmem_max = 4194304 net.core.wmem_max = 4194304 net.core.optmem_max = 4194304 #TCP default receive and send Buffer size net.core.rmem_default = 87380 net.core.wmem_default = 87380 #TCP min receive and send Buffer size (4KB) net.ipv4.udp_wmem_min = 4096 net.ipv4.udp_rmem_min = 4096 #TCP min , pressure and max. Pressure is the treshold when TCP #reclaim buffer memory to move memory use down toward the minimum. net.ipv4.tcp_wmem = 4096 87380 4194304 net.ipv4.tcp_rmem = 4096 87380 4194304 # = max(tcp_wmem) * 2 * numbers of clients / 4KB / reclaim buffer net.ipv4.udp_mem = 20480 20480 20480 net.ipv4.tcp_mem = 20480 20480 20480 #TCP Selective Acknowledgement (set:0 for Low-Latency) net.ipv4.tcp_sack = 0 net.ipv4.tcp_dsack = 0 net.ipv4.tcp_fack = 0 #Gradual speed increase (set:0 for Low-Latency) net.ipv4.tcp_slow_start_after_idle = 0 # #Swappinness parametes vm.swappiness = 5 vm.vfs_cache_pressure = 50
contact direct sur Matrix --> @rogn:matrix.org
PC : Clevo NL50CU Manjaro - VMs EndeavourOS, Ubuntu 22.04, Debian
Serveur et tunnel SSH : Samsung NP300E7A Manjaro - Mattermost VM Manjaro
Archer C6 pour serveur VPN
Netgear WNR2200 OpenWRTavril 16, 2020 à 12:34 pm #11707rogn…KeymasterHooo le mauvais que je suis ! Les ratios que je donne sont en Mega-Bytes par seconde, et non en Méga-Bits par seconde !
Autrement dit je suis à 192 Mbps sur des routeurs 1Gbps, ce qui est une perf acceptable pour une connexion fibre WAN.
Maintenant, j’applique les nouveaux paramètres suivants et augmente le treshold à 512 * 4K par socket.cat /etc/sysctl.d/99-sysctl.conf #----------------------------------------------------------------------- #TCP and UDP Memory Managment for LAN 1GBps, with Low-Latency #use sudo sysctl -p /etc/sysctl.d/99-sysctl.conf to store parameters #----------------------------------------------------------------------- #TCP core max receive and send Buffer size (*4KB) net.core.rmem_max = 4194304 net.core.wmem_max = 4194304 net.core.optmem_max = 4194304 #TCP core default receive and send Buffer size (*4KB) net.core.rmem_default = 2097152 net.core.wmem_default = 2097152 # #UDP-only ipv4 min receive and send Buffer size (4KB) net.ipv4.udp_wmem_min = 4096 net.ipv4.udp_rmem_min = 4096 #TCP-only min (*4KB), pressure and max. Pressure is the treshold when TCP reclaim buffer memory to move memory use down toward the minimum. net.ipv4.tcp_wmem = 4096 2097152 4194304 net.ipv4.tcp_rmem = 4096 2097152 4194304 # = max(tcp_wmem) * 2 * numbers of clients / 4KB net.ipv4.udp_mem = 20480 20480 20480 net.ipv4.tcp_mem = 20480 20480 20480 #TCP Selective Acknowledgement (set:0 for Low-Latency) net.ipv4.tcp_sack = 0 net.ipv4.tcp_dsack = 0 net.ipv4.tcp_fack = 0 #Gradual speed increase (set:0 for Low-Latency) net.ipv4.tcp_slow_start_after_idle = 0 # #----------------------------------------------------------------------- #Swappiness parametes #----------------------------------------------------------------------- vm.swappiness = 5 vm.vfs_cache_pressure = 50
Résultats, même le routeur du FAI comprend que le serveur a faim donc lui donne du Mbps en plus !
Conclusion, même en ce qui concerne les perfs réseau, certaines distros se basent sur de vieux principes comme la swappiness. Quand on est sur un routeur 1Gbps, on peut tuner, mais il faut faire attention si on reste sur du 56k, ça peut polluer. D’où la nécessité de sauvegarder ce que contient /proc/sys/ avant de jouer sur ces paramètres 😉
contact direct sur Matrix --> @rogn:matrix.org
PC : Clevo NL50CU Manjaro - VMs EndeavourOS, Ubuntu 22.04, Debian
Serveur et tunnel SSH : Samsung NP300E7A Manjaro - Mattermost VM Manjaro
Archer C6 pour serveur VPN
Netgear WNR2200 OpenWRTavril 18, 2020 à 10:37 am #11714nam1962KeymasterHmm intéressant !
Je ne me souvenais plus du réglage que j’avais proposé il y a deux ans !Pratiquement, comment fais-tu ? juste une modif de 99-sysctl.conf puis redémarrage ?
Un jeune site que j'aime bien, la ferrari du T-shirt ...bio en plus : GoudronBlanc
avril 18, 2020 à 11:22 am #11717rogn…KeymasterPour moi, le redémarrage c’est encore plus ouvrir le parapluie, car via sysctl -p les paramètres sont de suite appliqués. Pour rappel, c’est dans /proc que ça va taper donc c’est instantané. La swappiness et ces réglages vont de pair, mais j’imagine que d’autres ont déjà des paramètres custo donc le plus sage est de séparer les fichiers de configuration dans /etc/sysctl.d/
Pour la pollution du réseau, j’imagine quand même que les routeurs ont des garde-fou mais on est jamais trop prudents. Notamment, je mets un treshold bien plus élevé que ce qu’Oracle ou IBM préconisent donc j’ai un serveur qui est mort de faim pour ainsi dire 😉
Ensuite, ce sont les paramètres de selective acknowledgement et gradual speed increase qui sont peut-être à devoir remettre à 1 si jamais ça fout la zone.Avoir une sauvegarde de /proc/ est obligatoire avant de tuner ces paramètres (en ce qui me concerne, j’ai une VM où je peux les récupérer si besoin)
Avant d’en faire un tuto, je dois encore affiner.
contact direct sur Matrix --> @rogn:matrix.org
PC : Clevo NL50CU Manjaro - VMs EndeavourOS, Ubuntu 22.04, Debian
Serveur et tunnel SSH : Samsung NP300E7A Manjaro - Mattermost VM Manjaro
Archer C6 pour serveur VPN
Netgear WNR2200 OpenWRT -
AuteurArticles
- Vous devez être connecté pour répondre à ce sujet.