[Résolu] Traffic HTTP(S) très lent
-
Bonjour à tous,
Contexte : PFSense 2.3.3-RELEASE-p1 en phase de test dans notre école depuis quelques semaines.
Besoin : remplacer le portail captif propriétaire par un PFSense
WAN (modem/routeur/box) : la patte WAN du PFSense est connectée à notre firewall via un VLAN d'interco qui est lui-même connecté à notre réseau de collecte pour accès à Internet. Toutes nos IP sont publiques (classe B).
LAN : la patte LAN est reliée aux bornes WiFi via un VLAN d'interco. Elle fait la passerelle pour le sous-réseau WiFi en 192.168.216.0/21. Le PFSense fait serveur DHCP et DNS resolver avec DNS Query Forwarding vers notre serveur DNS interne.
DMZ : pas de DMZ
WIFI : voir infos dans LAN et utilisé en interne et pour les visiteurs.
Autres interfaces : pas d'autres interfaces
Règles NAT : pas de règles de NAT
Règles Firewall : le traffic HTTP et HTTPS est autorisé depuis l'interface LAN vers l'interface WAN sans traffic shapping.
Packages ajoutés : freeradius pour authentification LDAP des utilisateurs du portail captif.
Autres fonctions assignées au pfSense : Portail captif (voir infos ci-dessus)
Question : Le traffic HTTP et HTTPS est anormalement lent (environ 50ko/s) alors que d'autres protocoles ne rencontrent pas de problème (FTP à 15 Mo/s environ)
Recherches :
- traffic shaping sur le firewall du PFSense ==> pas de traffic shapping configuré
- machine virtuelle sous-dimensionnée ==> le dashboard PFSense et ma supervision réseau m'indique un CPU utilisé à 50% max et la RAM à 20% en moyenne.
- traffic shapping sur mon firewall entre le PFSense et le routeur d'accès à Internet ==> le portail captif propriétaire actuel ne rencontre pas ces lenteurs et utilise les mêmes règles sur le firewall.
- ralentissement dû aux logs des sesions HTTP et HTTPS ==> logs désactivés et lenteurs toujours présentes
Logs et tests : : voir dans la section "Recherches" ci-dessus.
Merci d'avance pour vos retours.
-
Si vous voulez être aidé, il est NECESSAIRE de respecter le formulaire de présentation A LIRE EN PREMIER. Merci d'y penser …
De nombreuses fois, il a été écrit, par moi ou d'autres, que la virtualisation rend plus difficile la juste perception de ce qu'il se passe.
En particulier, la performance est, nécessairement et mécaniquement, impactée par la virtualisation : si vous ne comprenez pas pourquoi, c'est que vous ne maitrisez pas la virtualisation.
Exemple typique : calcul du temps pour une VM : une VM ne peut mesurer le temps comme une machine physique puisqu'il manque des cycles ...En outre, pas d'infos précises sur votre infrastructure = pas de réponses précises possibles !
-
Bonjour jdh,
Merci pour vos conseils. J'ai modifié mon premier post en conséquence.
Concernant la virtualisation, effectivement, je ne la maîtrise pas. La VM m'a été fournie par notre administrateur système.
Avez-vous besoin de plus d'informations ?
-
Personne n'a une idée de ce qui pourrait ralentir mon traffic HTTP/HTTPS ?
-
CPU utilisé à 50%
Assez anormal : VM ou pas, sans l'addons Squid, la charge cpu d'un pfSense est normalement faible (mes 3 pfsense basés sur des serveurs physiques Dell R210 de 5 ans avec Pentium/4G mémoire/6 interface réseau giga / pas d'addons exigeants = 5% de charge cpu) …
-
Personne n'a une idée de ce qui pourrait ralentir mon traffic HTTP/HTTPS ?
tu dois pouvoir activer, au niveau de ton browser, un plugin qui va te dire quel est le temps passé par étape de ta requête HTTP.
ça ne va pas faire l'analyse à ta place mais au moins e donner une piste de recherche. -
tu dois pouvoir activer, au niveau de ton browser, un plugin qui va te dire quel est le temps passé par étape de ta requête HTTP.
ça ne va pas faire l'analyse à ta place mais au moins e donner une piste de recherche.Merci pour ton retour. Connais-tu, s'il te plaît, le nom du plugin ?
@jdh:
Assez anormal : VM ou pas, sans l'addons Squid, la charge cpu d'un pfSense est normalement faible (mes 3 pfsense basés sur des serveurs physiques Dell R210 de 5 ans avec Pentium/4G mémoire/6 interface réseau giga / pas d'addons exigeants = 5% de charge cpu) …
Merci pour ton retour. Le CPU est en moyenne à 4% mais monte de temps en temps à 50% maximum. Je ne sais pas si ces pics sont normaux ou peuvent être un symptôme de mes lenteurs ?
-
Bonjour,
Voila le plugin en question :
https://addons.mozilla.org/en-US/firefox/addon/httprequester/
Cordialement,
Mathieu
-
Bonjour mattv,
Merci pour ton retour.
J'ai utilisé ton plugin sur le site https://testdebit.info/. Les téléchargements de fichier en HTTP ne révèlent rien de particulier au niveaux des horodatages des requêtes. Le téléchargement se lance et est lent mais rien de flagrant.
-
Bonjour à tous,
Personne n'a une idée ?
Je suis complètement bloqué à cause de ces lenteurs et je n'arrive toujours pas à en comprendre la cause.
Merci d'avance pour vos retours.
-
La vitesse (la performance) ne doit pas être mesurée pour une VM (surtout si on ne maitrise pas la virtualisation).
Seule est à prendre en compte une machine physique dédiée (qui reste l'implantation à mettre en production).
-
Bonjour mattv,
Merci pour ton retour.
J'ai utilisé ton plugin sur le site https://testdebit.info/. Les téléchargements de fichier en HTTP ne révèlent rien de particulier au niveaux des horodatages des requêtes. Le téléchargement se lance et est lent mais rien de flagrant.
N'ayant (pas encore) mis en place un server radius et un portail captif, je ne saurai être d'une grande aide =/
Le switch permet-il une quelconque priorisation des protocols ?
pouvez-vous partager vos fichiers de configuration histoire de reproduire votre cas (en masquant vos données bien entendu) ?
-
N'ayant (pas encore) mis en place un server radius et un portail captif, je ne saurai être d'une grande aide =/
Le switch permet-il une quelconque priorisation des protocols ?
pouvez-vous partager vos fichiers de configuration histoire de reproduire votre cas (en masquant vos données bien entendu) ?
Mes switchs permettent la QoS mais elle n'est pas paramétrée.
Quels fichiers de conf vous paraîtraient utiles ?
-
Il est peut-être plus facile d'analyser la performance de HTTP avec ça:
https://addons.mozilla.org/en-US/firefox/addon/performance-analyser/?src=searchTu peux également, pour comparaison, faire un wget depuis pfSense. Est-ce que le débit est lent également ?
-
N'ayant (pas encore) mis en place un server radius et un portail captif, je ne saurai être d'une grande aide =/
Le switch permet-il une quelconque priorisation des protocols ?
pouvez-vous partager vos fichiers de configuration histoire de reproduire votre cas (en masquant vos données bien entendu) ?
Mes switchs permettent la QoS mais elle n'est pas paramétrée.
Quels fichiers de conf vous paraîtraient utiles ?
Bonsoir,
Le but est de reproduire votre structure, du coup votre procédure de configuration + options du portail captif pfsense et du freeradius/ldap
Cordialement,
Mathieu
-
Le but est de reproduire votre structure, du coup votre procédure de configuration + options du portail captif pfsense et du freeradius/ldap
J'espère ne pas paraitre désagréable en exprimant que "vouloir reproduire l'infrastructure en question" me semble ici tout à fait illusoire.
c'est un empilage assez compliqué car il y a plusieurs couches:
- pfSense lui même (en VM ?)
- le firewall parent, si je comprends bien ?
- une cascade de DNS
Sans information concrète de qu'est-ce qui prend du temps dans la requête HTTP, il me semble difficile d'avoir un avis quant à la direction dans laquelle il faut creuser.
Le problème peut tout aussi bien être au niveau du DNS, ou d'un proxy HTTP qui n'aurait pas été évoqué.A mon avis, il est plus efficace de procéder par dichotomie pour essayer d'identifier, dans cette config, où se situe le point de blocage.
La réponse à la question "quel est le temps passé à quoi dans la requête HTTP" n'apporte malheureusement rien.
Comment peut-on avoir au débit aussi faible et dire "Les téléchargements de fichier en HTTP ne révèlent rien de particulier au niveaux des horodatages des requêtes. Le téléchargement se lance et est lent mais rien de flagrant"N'est-il pas plus simple, si on y comprend rien, de procéder par élimination ?
Même si la méthode d’authentification n'a pas d'impact sur le débit HTTP, il est possible de désactiver cette couche, puis de vérifier si le problème existe ou pas sans portail captif et enfin de comparer le débit, comme je le proposait plus haut depuis un poste client vs. depuis pfSense en faisant par exemple un wget.
De même pfSense pourrait acter en tant que DNS "simple" des postes clients.Bref, l'objectif est d'avoir quelques informations concrètes qui permettent d'identifier au moins une direction. Pour le moment, nous n’avons rien si ce n'est "c'est très lent !"
-
Le but est de reproduire votre structure, du coup votre procédure de configuration + options du portail captif pfsense et du freeradius/ldap
J'espère ne pas paraitre désagréable en exprimant que "vouloir reproduire l'infrastructure en question" me semble ici tout à fait illusoire.
c'est un empilage assez compliqué car il y a plusieurs couches:
- pfSense lui même (en VM ?)
- le firewall parent, si je comprends bien ?
- une cascade de DNS
Sans information concrète de qu'est-ce qui prend du temps dans la requête HTTP, il me semble difficile d'avoir un avis quant à la direction dans laquelle il faut creuser.
Le problème peut tout aussi bien être au niveau du DNS, ou d'un proxy HTTP qui n'aurait pas été évoqué.A mon avis, il est plus efficace de procéder par dichotomie pour essayer d'identifier, dans cette config, où se situe le point de blocage.
La réponse à la question "quel est le temps passé à quoi dans la requête HTTP" n'apporte malheureusement rien.
Comment peut-on avoir au débit aussi faible et dire "Les téléchargements de fichier en HTTP ne révèlent rien de particulier au niveaux des horodatages des requêtes. Le téléchargement se lance et est lent mais rien de flagrant"N'est-il pas plus simple, si on y comprend rien, de procéder par élimination ?
Même si la méthode d’authentification n'a pas d'impact sur le débit HTTP, il est possible de désactiver cette couche, puis de vérifier si le problème existe ou pas sans portail captif et enfin de comparer le débit, comme je le proposait plus haut depuis un poste client vs. depuis pfSense en faisant par exemple un wget.
De même pfSense pourrait acter en tant que DNS "simple" des postes clients.Bref, l'objectif est d'avoir quelques informations concrètes qui permettent d'identifier au moins une direction. Pour le moment, nous n’avons rien si ce n'est "c'est très lent !"
Tout à fait d'accord avec vous, ne maitrisant pas ce type d'outils, mon intervention n'était peut être pas des plus adroites :)
Le sujet m'intéresse dans tout les cas, je serai probablement amené à le mettre en place chez un client.
-
;) mon propos n'était pas relatif à ton intervention spécifiquement mais au fait que nous manquons cruellement d’information pour avancer.
C'est lent mais nous ne savons quelle est la couche qui dysfonctionne et du coup, mon propos est de dire: "essayons d'abord de limiter le champ d'investigation".si on se le fait à grand coupe de "vous n'avez pas une idée ? essayons ça ou ça…" il y a à mon avis à peu près zéro chances de résoudre le problème car l’empilage de composants est complexe.
Et donc reproduire ce design me semble illusoire si tu ne maitrises pas la partie en dehors de pfSense pour être certain de refaire exactement la même chose. -
Bonjour à tous,
Encore merci pour votre aide sur ce sujet.
Avant de ma lancer dans l'analyse plus approfondie, j'ai essayé d'éliminer le problème 'machine virtuelle". J'ai donc réinstaller un pfsense sur un serveur physique et importer la configuration de la VM dessus.
Je suis encore en train de faire des tests mais il semblerait que les lenteurs aient disparues. Je vous tiendrai informés.
-
Bonjour à tous,
Pour information au cas où d'autres utilisateurs rencontreraient le même problème, j'ai résolu le disfonctionnement en cochant l'option "Disable hardware checksum offload" se trouvant dans System/Advanced/Networking. C'est effectivement lié au fait que les cartes réseau virtuelles ne prennent pas en charge le "checksum offload".