La Fibre
Fonctionnement du forum => A lire avant de commencer... =>
Évolution de LaFibre.info, bugs et critiques => Discussion démarrée par: vivien le 06 mars 2016 à 19:25:50
-
Salut !
Ton compteur de téléchargement de P.J. ne déconnerait pas un peu ? (peut-être parce que c'est un gros fichier)
Ex => https://lafibre.info/nas/sortie-nouveau-rpi-3/msg314433/#msg314433
Je suis déjà à 500 dl alors qu'il y a 3 personnes sur le topic^^
NBQG1304 8)
Voici la page en question : moins de 2 heures après avoir mis en ligne le PDF, il y a déjà 2350 téléchargements.
(https://lafibre.info/images/stats/201603_stats_pdf_magpi.png)
Le compteur n'est pas fou...
Il y a encore des petits malins qui font je ne sais quoi...
Voici les logs Apache2 des requêtes avec user-agent "Mozilla/5.0 (compatible) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 collection@infegy.com" ce sont elles qui ont 2341 téléchargements en 59 minutes, depuis une centaine d'adresse IP différentes, toutes situées toutes entre 74.87.163.20 et 74.87.163.159
Les logs => 201603_stats_pdf_magpi.ods (https://lafibre.info/images/stats/201603_stats_pdf_magpi.ods) (fichier LibreOffice Calc, lisible également avec Excel et Open Office)
-
Apparemment c'est une boîte de collecte de données lambda qui fait du crawling : http://infegy.com/
Le téléchargement du document est réparti avec Content-Range en blocs d'environ 4096 Ko, mais le total serait normalement de 18 Mo, l'addition de la colonne "Taille" dans ton document donne 9,2 Go (si je l'interprète bien !?). Est-ce qu'elle serait coupée avant ? Le compteur est peut-être aussi décuplé par la répartition entre différentes adresses sources.
-
C'est une bien une taille de 9,97 Go, soit 9,29 Gio qui a été téléchargé.
Stats Apache2 :
(https://lafibre.info/images/stats/201603_stats_apache_volume.png)
Stats sur l'interface réseau :
(https://lafibre.info/images/stats/201603_stats_if_eth0.png)
Le serveur héberge LaFibe.info et le serveur nPerf qui utilise le port 80 (Apache2) sur mobile et le port 8081 (serveur propriétaire) sur PC.
Ces tests sur le port 8081 expliquent pourquoi les deux courbes sont différentes.
-
Dis, ces derniers jours je vois aussi beaucoup de connexions se créer quasi-immédiatement dans les secondes qui suivent l'envoi d'un message sur un sujet (des miens en tous cas...). Ça ne proviendrait pas également de ce robot ? Il doit y avoir un secteur occupé par des crawlers taillés spécifiquement pour récupérer en temps réel les gros logiciels de forums comme SMF.
-
Cela pourrait expliquer le nombre de visiteurs non inscrits qui lisent des sujets (relativement peu importants) lorsqu'il y une réponse (cf la petite discussion d'il y a quelques jours sur IRC, quand on m'a demandé si je n'avais pas linké un topic ailleurs) : environ une quarantaine de visiteurs à ce moment.
-
C'est de cela dont je parle et j'étais l'interlocuteur. Cela a concerné par exemple mon dernier message dans la section IPv6 (https://lafibre.info/ipv6/script-perl-ipv4-ipv6/msg314517/#msg314517) et ceux dans la section Free 10G-EPON, mais vraisemblablement pas les plus récents messages toutes sections confondues ni les miens dans cette section non-indexée. Il serait peut-être intéressant de remonter les logs pour voir dans quels cas ça se manifeste.
-
39 personnes à 3h50 du matin dans le message Script pour récupérer l'IP et indiquer si c'est une IPv4 ou une IPv6 (https://lafibre.info/ipv6/script-perl-ipv4-ipv6/) avec un total de 13867 vues, c'est effectivement bien suspect.
Je vais regarder les logs demain (enfin ce matin plus tard :D)
Mon sujet en IPv6 Plages IP par FAI (https://lafibre.info/ipv6/plages-ip-par-fai/) qui date de 2013 et que j'ai cit a de nombreuses reprises sur d'autres sujets et pu-être sur twitter, n'a que 10106 vues, ce qui est déjà pas mal.
-
J'ai vérifié, ce sont des requêtes avec user-agent "Mozilla/5.0 (compatible) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 collection@infegy.com" qui fait que le sujet était aussi consulté la nuit.
J'ai filtré les log Apache2 depuis début janvier sur "collection@infegy.com" et voici ce que je note :
- un seul user-agent (c'est le même début janvier et début mars)
- Il n'y a jamais de referer
- 434 requêtes "collection@infegy.com" en janvier 2016
- 83 679 requêtes "collection@infegy.com" en février 2016 (le rythme accélère beaucoup à partir du 25 février)
- 362 708 requêtes "collection@infegy.com" les 6 premiers jours de mars (soit 1 800 000 requêtes attendues pour Mars, si on garde le même rythme.
Les 446 821 requêtes dans le fichier Libre office calc représentent 14,18 Go téléchargé, dont 9,97 uniquement pour le fichier du PDF du Raspberry Pi 3.
La taille moyenne des requête est de 32 Ko, la médiane est de 8,6 Ko.
Le max est à 7,5 Mo (PDF du Raspberry Pi 3)
=> 201603_stats_user-agent_infegy.ods (https://lafibre.info/images/stats/201603_stats_user-agent_infegy.ods) (fichier de 17 Mo, LibrOffice Calc, lisible avec Excel et OpenOffice)
J'ai supprimé la colonne user-agent (c'est le même début janvier et début mars), referer (inexistant) type de requête (c'est uniquement du HTTP 1.1) et j'ai séparé dans la requête ce qui est avant le "?" de ce qui est après (le PHPSESSID)
-
J'ai envoyé un résumé des observations faîtes ci-dessus aux adresses de contact spécifiées. Je vous tiens au courant si j'ai une réponse.
-
J'apporte une petite notification : le très célèbre topic Remplacer sa Livebox par un routeur Ubiquiti Edgemax (https://lafibre.info/remplacer-livebox/en-cours-remplacer-sa-livebox-par-un-routeur-ubiquiti-edgemax/2328/?topicseen) avait aux alentours de 19h45-50 ce jour (07/03) une trentaine de visiteurs pour 2 personnes connectées lisant le topic. ça me semble être pour les mêmes raisons.
-
On dépasse largement les 200 000 pages vue pour aujourd'hui (cf https://lafibre.info/stats/)
En cause entre 7h et 21h aujourd'hui, "collection@infegy.com" qui s'est déchaîné et a fait 111 000 requêtes !
Je me demande si les requêtes RSS compte comme des pages vues pour SMF (c'est une partie importante des requêtes infegy)
-
Les requêtes se sont vraiment amplifiées depuis hier et sont réalisées par période :
Nombre de requêtes Apache2 :
(https://lafibre.info/images/stats/201603_stats_apache_accesses.png)
Requêtes My-SQL :
(https://lafibre.info/images/stats/201603_stats_mysql_commands.png)
Fréquences du processeur :
(https://lafibre.info/images/stats/201603_stats_cpuspeed.png)
Load average sur 5 minutes :
(https://lafibre.info/images/stats/201603_stats_load.png)
Si cela continue, la solution sera de filtrer les IP en questions.
-
Internet devient fou avec toutes ses applications buggées qui le parcourent (je pense aussi au virus belge ici). Quel intérêt de télécharger 36 fois le même PDF ou de multiplier ces requêtes ?
-
Si cela continue, la solution sera de filtrer les IP en questions.
Sinon, au lieu de bloquer les IP qui génèrent ce traffic, tu pourrais aussi leur afficher un vhost avec une blague, ou un message clairement visible pour ceux qui sont derrière tout cela... J'espère naïvement que ça pourrait leur faire prendre conscience qu'il faut optimiser leurs activités, si il y a au moins une personne qui supervise leurs crawlers (si oui, elle n'est pas très compétente), et si toutefois leur but n'est pas malveillant.
Enfin un simple iptables -s IP -j DROP devrait suffire dans la plupart des cas ;)
Edit : ce qui me semble bizarre dans ton premier graphe c'est que le port 80 soit omniprésent (courbe verte) sur les accès/seconde, comme le site est entièrement sur le 443 ça veut donc dire que la courbe bleue est confondue et que leur bazar accède systématiquement sur le 80 et se fait rediriger sur le 443 ensuite (une charge serveur supplèmentaire inutile.)
(https://lafibre.info/images/stats/201603_stats_apache_accesses.png)
-
Sinon, au lieu de bloquer les IP qui génèrent ce traffic, tu pourrais aussi leur afficher un vhost avec une blague, ou un message clairement visible pour ceux qui sont derrière tout cela...
Ou constituer un cache.
-
T'es pas rendu avec Apache en front end.
-
Ou constituer un cache.
mais encore?
-
Mettre un varnish en reverse proxy pour transformer les visites des guest en simple envoi de page statique.
Cela va faire descendre de façon considérable la charge sur MySQL :)
-
Il y a une adresse email dans le user-agent de leurs robots, Vivien pourrait les contacter non ?
-
Retour de Infegy :
Thank you for the heads up Marin!
We will adjust as needed, and stop sending your site so many requests immediately. Please don't hesitate to reach out if you have any further issues.
Best,
Justin Graves - Founder & CEO
-
Merci Marin.
L'effet est immédiatement visible sur les graphes :
(https://lafibre.info/images/stats/201603_stats_apache_accesse_2.png)
Pour Apache2, Munin a vu que j'avais configuré le port 443, mais les infos (80+443) remontent sur le port 80.
J'avoue ne pas avoir cherché la cause, ni même comment il récupère ces données.
-
Est-ce que tu as mesuré l'impact sur le serveur d'un tel comportement?
Quel est le coût?
-
Visiblement le graphe décrirait presque une sinusoïde si on oublie les pics ::)
-
Le coût n'était pas négligeable du coté CPU : Chaque page nécessite pas mal de code PHP et de nombreuses requêtes MySQL.
Pour vous donner une idée, j'ai affiché, en bas de chaque page du forum, le temps CPU nécessaire pour générer la page et le nb de requêtes MySQL.
Exemple : "Page générée en 0.048 secondes avec 20 requêtes."
(c'est temporaire, je désactive cette info dans 24h)
Le coût en bade passante lui est nul car les images ne sont pas chargées (exception fait du PDF qui a généré 10 Go de trafic)
-
Il est vrai que depuis qq temps le forum "bufferise" de rares fois, mais jamais avant.
-
Si tu vois une page logue a chargée, tu peut voir si c'est lié à une charge serveur (le temps affiché en bas de page) ou si c'est lié à des pertes de paquets sur le transport entre le serveur et chez toi. (d'autres cas de dégradation sont également possible, comme des lenteur DNS)
-
Le coût n'était pas négligeable du coté CPU : Chaque page nécessite pas mal de code PHP et de nombreuses requêtes MySQL.
Pour vous donner une idée, j'ai affiché, en bas de chaque page du forum, le temps CPU nécessaire pour générer la page et le nb de requêtes MySQL.
Cela me semble un nombre de requêtes énorme.
-
Je vois 0.05 sec pour 24 requêtes, mais cela ne veut pas dire que c’est 24 personnes qui demandent la page ? Cela peut être plusieurs requêtes pour un même PC ?
-
Je vois 0.05 sec pour 24 requêtes, mais cela ne veut pas dire que c’est 24 personnes qui demandent la page ? Cela peut être plusieurs requêtes pour un même PC ?
C'est TA page qui nécessite 24 requêtes pour :
- charger ton profil
- charger les droits liés à ton profil
- charger la liste des membres connectés
- mettre à jour ton profil pour dire que tu es en ligne
- charger les forums
- charger les derniers messages de chaque forum
- etc...
Bref, ça en fait des requêtes :)
-
Merci pour les infos :D
Je vois que cela varie entre 20 et 26 requêtes.
-
- charger la liste des membres connectés
- mettre à jour ton profil pour dire que tu es en ligne
Beurk.
On ne peut pas faire ça en RAM plutôt?