Auteur Sujet: Serveur 40 Gb/s Appliwave pour tester son débit  (Lu 11302 fois)

0 Membres et 1 Invité sur ce sujet

kgersen

  • Modérateur
  • Abonné Free Pro
  • *
  • Messages: 8 290
  • Paris (75)
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #60 le: 03 mai 2021 à 21:09:34 »
Apache2 a plusieurs mode de fonctionnement possible.
- prefork
- worker
- event

NGinx avait un vrai avantage à l'époque ou prefork était la seule solution possible, car si prefork convient aux sites qui doivent éviter les threads pour assurer la compatibilité avec les bibliothèques non thread-safe, il est connu pour ne pas pouvoir monter en charge ou consommer beaucoup de ressources.

Le MPM event est un peu une copie du mode de fonctionnement de NGinx et il consomme peu de ressources, même avec des sites a plus de 1000 requêtes par secondes. (exemple: https://ubuntu.lafibre.info/stats/stats_server.html?version=last )

Je parlais de la perf brut de servir un fichier statique (débit de sortie vs conso cpu).

Y'a peu de benchmarks la dessus car les gens comparent surtout Apache vs NGinx sur le nombre de requêtes servies par seconde, donc le temps de 'réaction' mais pas trop le temps total d'envoi d'un gros contenu statique. Bref sur des critères de comparaison qui ne sont pas pertinents dans ton cas.

C'est peut-être pour ca qu'il serait intéressant d'installer Apache2, NGinx et Caddy sur ton serveur et voir celui qui consomme le moins de ressources pour une requête d'envoi de 10G par exemple.

De toute façon, c'est celui qui administre qui choisi surtout si la différence est minime. Moi si je gérais le serveur je ne prendrais pas Apache mais si tu es  a l'aise et préfère Apache autant le garder si la différence de perf n'impacte pas ton usage.

Apres en terme d'évolutivité et 'features' tu trouveras plus de monde pour te faire des modules spécifiques pour Caddy que pour les 2 autres. Et encore plus quand/si y'aura un serveur écrit en Rust (car y'a un effet mode assez fort...  :P ).

Concernant Nspeed, ce n'est de toute façon pas prêt pour mettre en production 24/7  même si a terme y'aura peut-être un module iperf3 (via libiperf3 ou un rewrite du protocol), http/3,webrtc dedans.

Comme tu dis, commence par ce que tu connais et maitrise et tu verra a l'usage ou ca pèche.
Si le souci n°1 sont les abus comme tu rencontre: pour iperf3 on peut peut-être faire quelque chose et pour les mires statiques aussi via un simple script d'analyse des logs d'Apache par exemple.

underground78

  • Expert
  • Abonné Free fibre
  • *
  • Messages: 7 292
  • Orsay (91)
    • FreePON : suivi géographique du déploiement fibre EPON chez Free
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #61 le: 03 mai 2021 à 21:14:05 »
Y'a peu de benchmarks la dessus car les gens comparent surtout Apache vs NGinx sur le nombre de requêtes servies par seconde, donc le temps de 'réaction' mais pas trop le temps total d'envoi d'un gros contenu statique. Bref sur des critères de comparaison qui ne sont pas pertinents dans ton cas.
A mon avis c'est très probablement parce qu'aucun ne se démarque particulièrement car dans ce type d'usage le surcoût lié à l'applicatif est faible, la performance est liée avant tout à la bande passante des différents composants (stockage, mémoire vive et réseau).

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 1 823
  • Chambly (60)
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #62 le: 03 mai 2021 à 21:22:14 »
J'utilise une archive au format LZ4 pour remplir le ramdisque (il y l'ensemble des fichiers dans l'archive LZ4). C'est un format vraiment intéressant, car en décompression il n'utilise presque pas de CPU et il permet donc de gagner en temps CPU et disque.
Il y a zstd maintenant.

L'avantage de NSpeed est que les 'fichiers' sont dynamiquement générés en terme de taille et de type donc y'a aucune charge cpu & appel système pour lire des fichiers.
D'un autre côté ça empêche d'utiliser sendfile() directement, pour éviter une copie userspace vers kernel, voire d'éviter la copie tout court.
Les données répétées (blocs de 0, ou blocs aléatoires dupliqués) peuvent toujours être copiées en shared memory, et envoyées via une série de sendfile.

vivien

  • Administrateur
  • *
  • Messages: 42 095
    • Twitter LaFibre.info
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #63 le: 03 mai 2021 à 21:41:34 »
Il y a zstd maintenant.
Ah zut je n'avais pas vu.

Il est plus performant que LZ4 ? (je pense surtout en décompression)

kgersen

  • Modérateur
  • Abonné Free Pro
  • *
  • Messages: 8 290
  • Paris (75)
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #64 le: 03 mai 2021 à 21:56:53 »
D'un autre côté ça empêche d'utiliser sendfile() directement, pour éviter une copie userspace vers kernel, voire d'éviter la copie tout court.
Les données répétées (blocs de 0, ou blocs aléatoires dupliqués) peuvent toujours être copiées en shared memory, et envoyées via une série de sendfile.

oui c'est un aspect que je n'ai pas encore regardé  ​y'a pas trop de souci de perf en envoi pour le moment. et Go utilise sendfile quand c'est  possible.

Faut voir aussi si en HTTPS le chiffrement se fait dans le kernel (voir même dans le driver de la carte) car sinon sendfile ne sert plus trop. C'est d'ailleurs une info que je cherche a diagnostiquer.

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 1 823
  • Chambly (60)
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #65 le: 04 mai 2021 à 01:42:38 »
Ah zut je n'avais pas vu.

Il est plus performant que LZ4 ? (je pense surtout en décompression)
Il est moins rapide à décompresser que LZ4 en général, mais il reste très rapide, et comme il compresse mieux, tout dépend si c'est la source qui limite.
Il sait utiliser plusieurs threads pour compresser (pas encore pour décompresser).

A moins de vouloir dé-dupliquer les données (comme j'avais suggéré avec du btrfs à un moment), un ramdisk ne sert à rien : des fichiers dans un tmpfs c'est plus simple.

Les fichiers aléatoires, ce n'est pas très utile de les compresser.
Sinon, dans ce bench inhabituel, les deux se valent : pour le 1G.iso des serveurs actuels, c'est 0,36s avec zstd, 0,31s avec lz4.

Les vrais zip ne doivent pas être si loin que ça des fichiers aléatoires.

Les fichiers remplis uniquement de 0, on peut les créer avec une simple commande (et sans forcément prendre de place, selon le système de fichiers) : "truncate -s 1000000000 1G-zero.zip".
Sinon, dans ce bench inhabituel, zstd compresse 1Go de 0 en 44Ko au lieu de 4,1Mo (mais ça ne change pas grand chose), et les décompresse en 0,26s contre 0,52s pour lz4.

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 1 823
  • Chambly (60)
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #66 le: 04 mai 2021 à 02:44:35 »
oui c'est un aspect que je n'ai pas encore regardé  ​y'a pas trop de souci de perf en envoi pour le moment. et Go utilise sendfile quand c'est  possible.

Faut voir aussi si en HTTPS le chiffrement se fait dans le kernel (voir même dans le driver de la carte) car sinon sendfile ne sert plus trop. C'est d'ailleurs une info que je cherche a diagnostiquer.
Je ne savais pas que ça avait été implémenté pour Linux.

https://www.kernel.org/doc/html/latest/networking/tls.html
C'est effectivement utilisable avec sendfile, avec /dev/zero ça peut être sympa, peut-être même pour envoyer des données aléatoires à un client HTTP.

https://www.kernel.org/doc/html/latest/networking/tls-offload.html
Les seuls drivers que je trouve avec accéléation :
 - Mellanox ConnectX-6 Dx
 - Chelsio T6
 - Netronome NFP4000/NFP6000
Bref, c'est probablement trop cher et exclusif pour trouver ça dans un serveur de test de débit  ;D

Synkronice74

  • Abonné Orange Fibre
  • *
  • Messages: 10
  • Annecy (74)
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #67 le: 04 octobre 2021 à 17:07:53 »
Tiens un serveur 40Gb/s sur NPERF chez Appliwave  ;)

Test via FTTO 100mb/s Covage

vivien

  • Administrateur
  • *
  • Messages: 42 095
    • Twitter LaFibre.info
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #68 le: 04 octobre 2021 à 17:48:46 »
Oui, je n'en ai pas encore parlé car tout n'est pas sec : Il n'est pas disponible en IPv6 chez nPerf et le logo d'Appliwave ne s'affiche pas (il devrait s'afficher à gauche de "choix du serveur"). Cela va être bientôt corrigé.

Si vous souhaitez faire un test à très haut débit, je vous conseille de demander l’accès à la bêta de l'application nPerf pour PC, disponible pour Windows, Ubuntu et MacOS.
=> [Beta-test] Application nPerf pour Windows, Mac, Linux.

Le serveur Appliwave est déjà disponible sur SpeedTest.net (Ookla), il suffit de chercher "Appliwave". Le test est réalisé en IPv6 si vous êtes en IPv6.
Là aussi pour de l'ultra haut débit (> 1 Gb/s), l'application installable est conseillée.

Il a été validé par QoSi pour les applications comme "5GMark", "DébitTest" l'application mobile de 60 Millions de consommateur, "QuelDébit" l'application mobile UFC Que choisir et les différentes applications de test de débit régional ("Tu captes" pour la région Hauts-de-France, "KiCapte" pour le département d'Ille-et-Vilaine, "Gigalis" pour le syndicat mixte des Pays de la Loire, celle de la région Bourgogne-Franche-Compté et une application européenne. Il est peut-être déjà en prod, je n'ai pas vérifié, mais ces applications ne permettent pas de choisir son serveur. Le test est réalisé en IPv6 si vous êtes en IPv6.

La demande est en cours de traitement pour IPv6-test.

JulienOHAYON

  • AS29075 Officiel Ielo
  • Expert
  • *
  • Messages: 183
  • Paris (75)
    • ielo
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #69 le: 04 octobre 2021 à 18:24:30 »
Ah oui quand même !
Merci Vivien ;)

vivien

  • Administrateur
  • *
  • Messages: 42 095
    • Twitter LaFibre.info
Serveur 40 Gb/s Appliwave pour tester son débit
« Réponse #70 le: 05 octobre 2021 à 17:30:28 »
Le serveur Appliwave est déclaré sur https://ipv6-test.com/speedtest/

Il ne reste qu'une problématique : Les IPv4 et IPv6 (nom de domaine v4.pa.fr.ipv6-test.com et v6.pa.fr.ipv6-test.com) pointe encore sur l'ancien serveur Bouygues Telecom.

Je fais signe quand tout est ok.