[Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

Envie d'échanger sur d'autres thèmes que la GPZ ? Cette section est justement là pour ça !
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

[Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

11 août 2022, 01:01

Bonsoir à toutes et tous ! :D

Ce topic sera principalement technique donc si vous avez des questions qui peuvent sembler "simples" (pas d'offense), j'essayerai d'y répondre du mieux que je peux en termes compréhensibles.

Comprenez bien que, si vous êtes un "être humain" normalement constitué, ce qui va suivre sera pour vous du charabia (ce qui n'est pas le but, chacun son métier).

Cependant, comme toute question est légitime, surtout n'hésitez pas !

# ---

Nicolas Boileau : - "Ce que l'on conçoit bien s'énonce clairement. Et les mots pour le dire arrivent aisément."

Sauf que dans ma tête, certaines choses peuvent sembler compliquées alors qu'elles sont simples... :mrgreen:

# ---

- "Faire plus avec moins !"

Ce type d'argument, vous l'avez forcément entendu.

Quand il s'agit de machines (donc des objets inertes), alors oui, cela fait sens.

Quand il s'agit de personnes (donc la masse salariale), alors non, la santé à un prix.

# ---

Dans ce topic, on va seulement "maltraiter" des machines afin d'augmenter leurs performances.

Pour rappel, ce sont des objets polluants, que ce soit concernant l'extraction des minerais nécessaires ou leurs consommation (énorme) en électricité.

Ne vous y trompez pas, je suis un "écolo" à deux balles.

Je sais pertinemment qu'on va tout droit dans le mur et que la majorité des entreprises le savent.

Si vous avez aimé le film "Titanic", soyez assurés que cela va se reproduire à l'échelle de la Terre.

Mais, bonne nouvelle, il est fort possible que vous allez mourir avant : - "après moi le déluge"

Désolé de plomber l'ambiance, je rappelle juste des faits.

# ---

Prochain message ; - "Pourquoi Varnish est une tuerie ?"

Bonne nuit ! :D
Avatar de l’utilisateur
dnstouron
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Contact :
Moto(s) : ZZR1100 D1 & GPZ500-E10
Signe particulier : regardez mon avatar :)
Localisation : A la campagne dans 28 proche Dreux
Messages : 10074
Inscription : 16 mai 2010, 17:36

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

11 août 2022, 09:54

Pour suivre car faire plus avec moins ( d'informatique ) c'est une grande tendance des demandes des grosses société qui consommebt des usines de traitement informatique (données)
Image
ZZR un jour, ZZR toujours
Club des 100 000
POST PouAaAAAAaaaa !!!
Avatar de l’utilisateur
noob
Pilote confirmé !
Pilote confirmé !
Moto(s) : GPZ 500S 1990
Signe particulier : Premiere Kawa en 27 ans de permis
Messages : 101
Inscription : 02 juin 2020, 16:28

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

11 août 2022, 16:46

C'est surtout une belle hypocrisie, les entreprises qui disent faire moins de traitement de données avec moins de machines, sont celles qui sous traite le dit traitement de ces données.
Elle ne font que déplacer le problèmes.
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

20 août 2022, 01:22

Bonsoir à toutes et tous. :D

- "Pourquoi Varnish est une tuerie ?"

je reformule : - "Pourquoi l'esprit des logiciels libres est une tuerie ?"

# ---

Il y a environ 15/20 jours, lors de tests sur un site utilisant le plugin WP Rocket, je remarquais un comportement "bizarre"...

Pour rappel, WP Rocket est un module (payant mais dont le code source est disponible) pour les sites fonctionnant avec WordPress et qui permet de mettre en cache la plupart des pages.

In fine, cela permet d'accélérer considérablement le TTFB (Time To Fist Byte) et donc la vitesse d'affichage du/des site(s) concerné(s) .

Évidemment, les pages "vraiment" dynamiques (inscription/panier/commande/newsletter/wishlist/paiement/factures/etc) ne peuvent pas être mises en cache. (Encore que... On verra cela plus tard !)

# ---

Généralement, quand un hébergement web (payé 3 francs 6 sous) est totalement "moisi", les personnes cherchent d'abord (et désespérément) comment optimiser la vitesse de leur site (ce qui est, en soi, une très bonne chose).

Bref, peu importe, ce dont je m'aperçois - concernant le plugin WP Rocket - c'est que les opérations de création et de stockage d'une page dans le cache ne sont pas "régulées" par un verrou exclusif.

En Français :

1) si la page X d'un site n'est pas présente dans le cache de WP Rocket, alors il faut la générer avant de pouvoir l'afficher
2) si, au même moment, 10 internautes demandent cette même page (absente du cache), alors elle sera générée 10 fois

Donc là, dans ma tête, c'est clair et sans équivoque : le "process" n'est pas optimal (mais attendez un peu la suite...).

# ---

Toujours sur un hébergement web "moisi" (oui, j'aime bien ce terme... ^^), le temps de génération d'une page peut s'avérer très "coûteux".

Concernant WordPress, J'ai déjà vu des sites mettant plus de 6 secondes pour générer une "simple" page (donc autant se pendre) et, souvent, c'est encore pire avec le BackOffice (bosser dans ces condition est un vrai calvaire).

Donc, l'idéal serait donc de mettre en place un verrou exclusif (le temps de générer la page demandée) puis, une fois disponible, de la distribuer aux Internautes mis en attente.

# ---

Comprenez bien que Je n'ai pas inventé l'eau chaude : Varnish (mon reverse proxy préféré, chaque jour est une découverte... ^^) utilise cette technique depuis des années.

Cela s'appelle le "Request coalescing" : charger une seule fois la ressource demandée (page/image/CSS/JS/autre) et, seulement ensuite, la distribuer immédiatement aux "clients" en attente.

Si vous êtes intéressés : Anglais : Request coalescing and other reasons to use varnish

Pour la "blague" (s'il vous plait, soyez sympas, ne le faites pas), si vous repérez un site "poussif" utilisant WP Rocket avec l'option "Activer le préchargement des liens", vous pouvez mettre à genoux l'hébergement en moins 10 secondes, simplement en survolant (rapidement) tous les liens présent dans la page avec votre souris (pas besoin de cliquer).

Note: cela n'est vrai que si les liens "survolées" (donc généralement les pages => code HTML) ne sont pas déjà présentes dans le cache (ce qui limite alors les dégâts).

# ---

Pour bien comprendre ce "phénomène" sachez que l'architecture des hébergements web de masse a complètement muté et ce, depuis plusieurs années ;

- Hier (2015 ?), on vous promettait monts et merveilles pour 10 euros/mois (si vous dépassiez les quotas, c'était "pénible" donc on vous jetait comme un malpropre)

- Aujourd'hui, on vous promet de l'illimité au sein de "systèmes finis" (donc on s'en fout car jamais vous ne pourrez consommer plus que les ressources attribuées)

# ---

C'est un peu comme si votre boulanger préféré vous proposait une offre "illimitée" concernant le nombre de baguettes pour 10 euros par mois.

Comme il n'est pas complètement "débile", la quantité de farine maximale qui vous sera attribuée par mois sera limitée (pas plus de 1 kg)

Dans les faits, vous pourrez seulement obtenir 6 baguettes par mois (je ne suis pas boulanger mais j'ai fait le calcul et il me semble bon... ^^)

Voire 10 baguettes s'il lui reste de la farine à écouler : c'est ce qu'on appelle le "burst" (surconsommation temporaire)

Et là, comprenez bien que votre boulanger, même avec cette offre "illimitée", il fait encore de la marge (et c'est bien normal, je n'ai rien contre lui !)

# ---

Bon, alors, c'est bien gentil tout ça mais quel est le rapport avec la "philosophie" d'Unix (et de l'un de ses descendants : Linux) ?

Le code source de WP Rocket est disponible : GitHub - wp-media/wp-rocket: Performance optimization plugin for WordPress

Vous pouvez soumettre des "issues" aux dévelopeurs , voici la mienne : Adding exclusive lock (to avoid unnecessary CPU usage) when WP Rocket knows a page can be cached?

Pour l'instant, ma "remarque" ne génère pas beaucoup d'intérêt (aucun souci, ils sont débordés).

# ---- UNIX/LINUX == participation

Du coup, je peux passer a la vitesse supérieure et leur proposer un "patch", c'est à dire un bout de code qui corrige le souci.

Content de mon idée, je modifie le code de source la dernière version de WP Rocket.

Rien de transcendant, une trentaine de lignes, le tout en respectant le "coding style"

Mais, avant de leur envoyer le code "brut" (pour l'instant je ne sais pas faire un "Pull Request" avec git mais cela viendra), je décide, forcément, de tester les modifications.

- "Et là, c'est drame..."

1) lors des benchs, il n'y a pas de requêtes multiples vers une même page qui ne serait pas présente dans le cache
2) la constatation est donc "terrible" : mon "patch" ne sert strictement à rien car à aucun moment il n'est déclenché
3) je suis juste un (vieux) con car, évidemment, Varnish s'occupe de ne pas multiplier les requêtes vers une même ressource.

Détecter ses propres "limitations" est une bonne chose, les comprendre est encore plus stimulant.

Et pourtant, comme tout le monde, je n'aime pas trop être "chatouillé"... ^^.

# ---

Au final, fort de cet échec cuisant, je me suis (encore) replongé dans la doc de Varnish.

Et, évidemment, en cherchant j'ai trouvé pas mal de réponses à mes question (merci Google et donc à ceux qui partagent !)

Le "patch" est à priori OK mais je dois d'abord désactiver le "Request coalescing" dans Varnish pour pouvoir le tester.

# ---

En résumé, quand j'aurais éliminé les "problèmes/particularités" de mon côté, je vais pouvoir proposer le patch aux développeurs de WP Rocket.

Peut-être qu'il sera accepté, peut-être que non, peut-être qu'il sera soumis à discussion.

Peu importe, comme dit trop souvent : - "C'est le geste qui compte".

# ---

Vous ne l'aviez peut-être pas remarqué mais tout ceci n'est qu'une "Ode" aux logiciels libres.

Sans eux, je serais resté "cloitré" et restreint avec des OS propriétaires (j'utilise aussi Windows 7 & 10 donc ne paniquez pas... ^^)

Sans eux, je n'aurais pas eu l'envie de partager (gratuitement, faut-il encore expliquer pourquoi ?) des idées, des patchs ou des retours d'expérience.

# ---

Bref, vous êtes sur un forum de motards et l'idée - de base - est d'aider son prochain quand c'est possible et ce, sans contrepartie (mis à part un minimum de politesse et de savoir vivre ?).

Les logiciels libres, c'est pareil.

Donc, de facto, vous êtes des "Libristes".

Bonne nuit ! :D

# ---

PS : Évidemment, la conclusion n'est qu'une pure figure de style rhétorique car le raisonnement est totalement biaisé... :mrgreen:
Avatar de l’utilisateur
colthard
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : Gpz900r
Localisation : Hérault
Messages : 1001
Inscription : 22 mai 2011, 18:17

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

20 août 2022, 01:40

:clap2:
J'adore les logiciels libres également. J'utilise FreeCad pour la modélisation 3D et je le trouve génial. C'est plutôt joli, une fois le raisonnement compris ça en devient intuitifs. Et ce que j'aime c'est les évolutions possibles avec des patchs "officiels" et des patchs "officieux" .
Je trouve le côté "libre de droits" de ces logiciels donne un sentiment de communauté, de bienveillance.
Malgré que je ne sache pas du tout programmé je partage mes pièces abouties sur thingverse et 3dCult gratuitement ( sur 3dCult on peut mettre un prix , mais je les mets en gratuit systématiquement) .
C'est un peu comme faire sa B.A. sans attendre de retour ( bon je vous l'accorde, quand on me met un commentaire sympa sur une pièce que j'ai modélisé ça me fais très plaisir 😅) .
Avatar de l’utilisateur
dnstouron
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Contact :
Moto(s) : ZZR1100 D1 & GPZ500-E10
Signe particulier : regardez mon avatar :)
Localisation : A la campagne dans 28 proche Dreux
Messages : 10074
Inscription : 16 mai 2010, 17:36

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

21 août 2022, 10:55

Le monde libre a ces limites comme tout système libre ... dans ma vie professionnelle a chaque fois que des produits du monde libre ont été mise en œuvre on en a toujours eu pour notre argent :roll: :siffle:
les éditeurs font souvent des forks des produits du monde libre en y ajoutant du support éditeurs, des garanties et des roadmaps permettant de se projeter dans un avenir de 12 a 24 mois
Image
ZZR un jour, ZZR toujours
Club des 100 000
POST PouAaAAAAaaaa !!!
Chris ZX 750 A
Motard en formation
Motard en formation
Moto(s) : Zx 750 A 1986
Signe particulier : Désossée
Messages : 34
Inscription : 26 juin 2022, 09:21

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

24 août 2022, 18:26

Hello !

A propos de Varnish oxy action,

Je ne peux plus faire de recherche sur le serveur, accès forbidden, un truc du genre "videz le cache du serveur"

Du coup je vais être obligé de poster un message auquel "On" a probablement déjà répondu 3542 fois 😋

A tout bientôt 😊

Édit : les recherches fonctionnent dans les sujets, seules les recherches approfondies renvoient une erreur
Image
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

30 août 2022, 23:25

Hello ! :D

dnstouron a écrit :[...] a chaque fois que des produits du monde libre ont été mise en œuvre on en a toujours eu pour notre argent :roll: :siffle:

Rooooh...Alors ça, vraiment, c'est pas de bol ! :mrgreen:

Denis, au delà de la blague, je serais vraiment curieux d'en apprendre plus. ^^

Ex :

- Quels étaient les logiciels utilisés ?
- Quels étaient les résultats attendus ?
- Quel était le budget et/ou l'équipe alloué(e) ?
- Enfin, quels furent les résultats ? (en bien ou en mal, peu importe)

Certes "j'aime" les logiciels libres - principalement pour l'était d'esprit - mais je sais pertinemment que, dans certains cas, le choix d'une solution propriétaire est plus pérenne.

Bref, dis-nous en plus ! :D
Avatar de l’utilisateur
dnstouron
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Contact :
Moto(s) : ZZR1100 D1 & GPZ500-E10
Signe particulier : regardez mon avatar :)
Localisation : A la campagne dans 28 proche Dreux
Messages : 10074
Inscription : 16 mai 2010, 17:36

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

31 août 2022, 22:27

Je te réponds vite fait

- Quels étaient les logiciels utilisés ? Deux cas dans lesquels j'ai trempé openstack/kvm/Ubuntu, openAm
- Quels étaient les résultats attendus ?
Openstack .: Fournir un cloud privé sécurisé

OpenAm un choix client pour une solution d'authentification, Acces Management.

- Quel était le budget et/ou l'équipe alloué(e) ?

Openstack une équipe de 20 personnes et un des collaborateurs était gourou neutron dans la communauté, je me rappelle plus du terme exact.
Côté client il y a une équipe de 40 développeur en interne et des prestataires de chez gfi

- Enfin, quels furent les résultats ? (en bien ou en mal, peu importe)
Le groupe dans lequel je bosse a été le plus gros contributeur pour la couche neutron d'openstack. Lors de la mise en place de la solution en 2012 neutron était light et pas vraiment sécurisé (fw utilisateur était un IPtable dans une VM pour tous les tenants, pas de multihoming sur les Vms ...), une équipe de 20 développeurs ont bossé 4 ans sous forme de sprint afin d'améliorer les fonctionnalités de neutron les tester les mettre en production et des autres modules et les fournir a la communauté.
Ils ont décidé de faire un fork de neutron pour le faire évoluer plus rapidement sans attendre la communauté.
Puis la communauté a décidé de changer de modèle en 2018 de mémoire et le fork créer et mise disposition n'a plus été compatible avec le reste des modules dont l'ihm ... C'est gênant pour un openstack quand l'ihm ne permet plus le pilotage des outils.
Deux ans de boulot pour rebasculer sur la branche choisi par ma communauté. Ca a beaucoup coûté et pas mal ralentit les evolutions de la plateforme du coup en 2020 on est parti sur les solutions vmware et depuis le début de l'année nous nous sommes très fortement rapproché de la solution de Google . :roll:

Pour le client, 1 ans de dev puis 6 mois après la mise en production la communauté a décidé d'arrêter le produit sans autre motif...le client a bataillé pendant 12 mois pour maintenir la solution mise en place mais au final il repart sur une autre solution forgerock qu'il commence à déployer en production après quelques mois de dev..

Ceux sont les deux exemples pour lesquels j'ai bossé en libre, je dois pouvoir trouver d'autres exemple auprès de mes 100 collègues qui font le même boulot que mois auprès d'autres clients :siffle:
Attention je parle de gros groupe français et de gros compte de la finance.. pas de PME/pmi pour lesquelles les solutions libre peuvent être très bien.

Par exemple j'ai étudié l'opencompute ( architecture ordinateur libre) pendant un an, j'ai rencontré des sociétés françaises qui bossent la dedans avec de très fortes croissance économique. Mais c'est quasiment invendable en France même si tu annonces que meta, Google, Amazon et autre gros fournisseur de cloud sont dessus depuis plus de 10 ans et des trés gros contributeur à la communauté
Image
ZZR un jour, ZZR toujours
Club des 100 000
POST PouAaAAAAaaaa !!!
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

06 sept. 2022, 01:32

Hello ! :D

colthard a écrit :Je trouve le côté "libre de droits" de ces logiciels donne un sentiment de communauté, de bienveillance.

Les différentes licences GPL sont un peu plus "précises" (voire même très pointilleuses) mais oui, on peut considérer que les logiciels libres sont (presque) "libre de droits".

colthard a écrit :[...] je partage mes pièces abouties sur thingverse et 3dCult gratuitement [...]

C'est un peu comme faire sa B.A. sans attendre de retour ( bon je vous l'accorde, quand on me met un commentaire sympa sur une pièce que j'ai modélisé ça me fais très plaisir 😅) .

Déjà, félicitations et merci pour eux ! (ceux qui vont pouvoir imprimer tes pièces)

Parce que le boulot nécessaire ne doit pas être une mince affaire (la modélisation) et que l'envie de partager gratuitement ses résultats est au delà de toute personne se disant "libéral".

Attention, un "vrai" libéral (au sens premier du terme) ne rechignera pas à partager ses trouvailles.

Par contre, les (faux) "libéraux" d'aujourd'hui sont de simples mendiants aux relents socialistes voire communistes :

1) quand tout va bien, ils sont contents et gardent l'oseille pour eux
2) quand ça va (un peu) mal, ils sont "paniqués" et demandent l'aide de l'état

La formule est connue : "individualisation des gains, mutualisation des pertes".

Toi, c'est strictement l'inverse : "individualisation du travail, mutualisation des profits**".

** Par "profit", j'entends le simple fait de pouvoir imprimer tes modèles et être content du résultat.

Évidemment, ils y aura toujours quelques "teigneux" qui chercheront à en tirer profit (pognon) mais, les ignorer comme tu le fais, c'est énorme.

Donc, encore une fois, merci !

Et si tu es OK, ouvre un topic dans "Discussions libres" avec les liens vers tes créations. :wink:

Bonne nuit ! :D
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

10 sept. 2022, 02:06

Mission du jour : limiter/restreindre/ralentir un "bot" pénible

Chaque nuit, sur un site WordPress utilisant WooCoommerce, il y a un service tiers qui se synchronise avec les produits et l'état du stock.

Jusqu'ici tout va bien : c'est normal et souhaité afin d'avoir les même infos côté logistique (envois, retours) et côté ventes (produits disponibles ou en rupture).

La où ça "coince" (de mon point de vue), c'est que ce service bombarde, toutes les nuits, les serveurs sans se soucier de la charge induite.

Cela ne dure "que" trois minutes : le service tiers arrive, balance en rafale toutes ses requêtes et, une fois fini, s'en va comme un malpropre.

Sauf que côté serveurs, c'est fortement consommateur en CPU et cela fait grimper en flèche la charge globale (le load average).

# ---

Donc, depuis plusieurs jours, je regardais comment ralentir/contenir ce "malotru".

Comme j'étais plongé dans la config de Varnish (reverse proxy) depuis pas mal de temps, je me suis dit : -"OK, je vais forcer le request coleacsing".

En français : l'idée est de sérialiser toutes les demandes "pénibles" afin qu'elles soient traitées "à la queue leu-leu" au lieu d'être exécutées en parallèle.

Ce qui est, paradoxalement, contre nature car l'idée générale pour accélérer les sites web, est de paralléliser le plus possible les requêtes afin de ne pas avoir de goulet d'étranglement.

Bref,..

Obnubilé que j'étais par Varnish (mon marteau préféré), tout fini par ressembler à un clou. :mrgreen:

# ---

Évidemment, ce fut un "drame" (toute proportion gardée) :

1) je passe du temps à mettre en place des règles spécifiques dans Varnish pour gérer ce cas de figure
2) j'en oublie l'élément principal : seules les requêtes vers une même ressource peuvent être sérialisées
3) au final, et sans surprise, c'est un échec cuisant : la charge est légèrement diminuée mais c'est tout

En un mot : retour à la case départ.

Pas énervé, juste dubitatif.

# ---

Comme je suis un peu "teigneux" sur les bords (techniquement parlant), je me dis que la méthode n'est pas bonne.

Et évidemment (mieux vaut tard que jamais) l'évidence apparait, limpide : l'outil adapté pour ce "job", c'est HAProxy (le load balancer).

Encore une fois, c'est contre nature : un répartiteur de charge est fait pour équilibrer du mieux possible les requêtes vers les services sous-jacents.

Donc l'idée générale est de distribuer la charge vers différents "backend" afin d'en obtenir les meilleures performances.

# ---

Sauf que là, on va faire strictement l'inverse : isoler un trafic spécifique, le cloisonner et le restreindre.

Cela peut sembler consternant mais, en configurant HAProxy pour brider ce "bot" pénible, j'ai compris (en partie) que l'on pouvait, artificiellement, brider les ressources consommées.

Je ne reviens pas sur le sujet mais, dans un monde fini, l'illimité ne peut exister : ceux qui prétendent le contraire, bah, je leur souhaite bon courage...

En résumé et quelques lignes de configuration plus tard, il s'avère que la charge globale lors du passage de ce robot "indélicat" a été divisée par 10.

Maintenant, je vais regarder si toutes les requêtes ont bien été traitées (pas de timeout ou autres erreurs).

# ---

La morale de cette "histoire" ?

Aucune : chacun fait comme il peut et du mieux possible à un instant T.

A+
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

13 oct. 2022, 02:05

Effectuer des mises à jour, un bonheur perdu ?

Oui, je sais, cela sonne comme un titre "putaclic" mais je m'en fous car ce sujet n'est pas une chaine Youtube (donc pas de YouTube Money).

# ---

h2o : mon serveur web préféré pour gérer HTTP/2 et très bientôt HTTP/3. (H2O - the optimized HTTP/2 server)

Migrer vers la dernière version fut un "désastre" (toutes proportions gardées...)

Pour une raison que j'ignore encore, basculer vers les dernières versions posait un (léger ^^) problème.

L'upload de fichiers dépassant 16 Mo (donc rien de folichon...) ne fonctionnaient plus.

Je vous épargne les heures à pourchasser le problème.

Comme seules les constatations comptent. voici mon avis :

1) personne d'autre ne semble être impactée par ce problème.

Donc je dois isoler h2o au sein d'un container pour poursuivre les tests.

2) pourtant, quand je compile une ancienne version, tout fonctionne correctement

Le ticket envoyé aux développeurs est ici : Uploads hang (~16 Mo or ~22s), no data transmitted to "proxy.reverse.url"

Je n'attends pas de réponse de leur part car le souci se situe de mon côté..

# ---

Varnish : un reverse proxy qui "déménage ta mère"

Non seulement ce logiciel (version libre) est un diamant brut - difficile à maitriser, certes - mais le support est d'une d'une réactivité hallucinante.

Sur un des serveurs mis à jour, je constatais de nombreuses erreurs fatales, ce qui était franchement moche car l'uptime de Varnish (le processus "child") était très mauvais.

En moins de 7 jours, ils ont corrigé le souci.

Le bug report est ici : Assert error in VSLbs(), cache/cache_shmlog.c line 385: Condition(vsl->wlp < vsl->wle) not true.

# ---

Tout ça pour dire que mettre à jour différents logiciels peut être "compliqué".

C'est pour cette raison que les distributions Linux (J'utilise Debian) sont "prudentes" avant de publier un paquet stable.

# ---

dnstouron a écrit :Je te réponds vite fait

Et moi je te réponds "long" fait dans un prochain message (tu donnes beaucoup d'éléments factuels, merci beaucoup !).

Donc, merci pour toutes ces précieuses informations.

Il est clair que nous ne "boxons" pas dans la même catégorie.

Peu importe, chaque jour doit servir à apprendre sinon c'est une journée "perdue".

Tout est relatif cependant... ^^

Bonne nuit à toutes et tous !
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

06 nov. 2022, 04:38

Bonsoir à toutes et tous ! :)

Version courte : comme l'avait dit Chirac - "Les emmerdements volent toujours en escadrille"

A l'heure où j'écris ce message, je ne sais pas encore si je vais parvenir à récupérer (sans corruption ni perte) environ 1 To de données concernant la prod.

# ---

Si tout se passe bien, je vais pouvoir aller dormir.

Sinon, cela va être un désastre "modéré" (restons optimiste) car les backups de 17h sont fiables.

Cependant, restaurer un backup n'est pas sans conséquences car il y a perte de données.

Pas la totalité des données, certes, mais cela implique la perte des dernières heures.

Et ça, actuellement, presque plus personne ne le tolère.

Autrement dit, si je me loupe, demain va être un enfer (toutes proportions gardées).

Pour l'instant, je vois que le process de restauration fonctionne donc je m'accroche à l'idée que cela va bien se passer.

# ---

Au départ, c'était "juste" un problème de VPS avec des données corrompues.

L'idée était d'améliorer les perfs d'un site et pour cela, l'isoler me semblait être une bonne idée afin de pouvoir appliquer des optimisations spécifiques.

Les tests étaient bons, les perfs prometteuses, tous les voyants étaient au vert, bref, une affaire qui roule.

On l'aura compris, ce n'est pas du tout ce qu'il s'est passé.

Dès le lendemain, la personne m'informe que le site est lent et qu'il y a d'autres soucis.

Après vérification, il s'avère qu'au sein du VPS, le serveur de bases de données (MariadDB) pompe tout le CPU disponible et ne laisse presque aucune chance aux processus du serveur web (Apache).

Par effet de bord, le site concerné est down depuis 15/20 minutes.

Et ce n'est rien quant à ce qui va suivre...

Pour faire court, les données de MariaDB (le serveur de bases de données) au sein du VPS ont été corrompues.

Même en restaurant des sauvegardes antérieures et "fiables" (selon l'outil de sauvegarde), des erreurs fatales apparaissent lors du démarrage de MariaDB.

Bref, c'est une impasse.

Mais comme il faut absolument savoir ce qu'il s'est passé (pour que cela ne se reproduise pas), je cherche depuis deux jours.

# ---

Ce qui m'amène à ce soir (demain pour vous car il est déjà 02h16).

En voulant créer un container OpenVZ pour tester et comprendre ce qu'il s'est passé, je tape une commande avec de mauvais paramètres.

Rien de grave, le container est créé mais je m'aperçois que certains paramètres ne sont pas les bons (/vz/root et /vz/private).

Donc, forcément, j'utilise la commande pour détruire ce container "invalide".

- "Et là, c'est le drame..."

En tapant cette commande (vzctl destory <ID_DU_CONTAINER>) toutes les données du répertoire /vz/private viennent d'être effacées.

C'est un "bug" que je vais signaler auprès des équipes de dev d'OpenVZ.

# ---

Au début je n'y croyais pas (déni total).

Ensuite je me suis rendu à l'évidence : environ 1 To de données "utiles" venaient d'être "zappées".

Je vous épargne les différentes étapes que génère le cerveau face à un risque grave, imminent et systémique.

Bref, c'est la panique (et je pèse mes mots).

# ---

Là où ça commence à devenir "drôle" (façon de parler, j'ai encore le sang glacé...), c'est que je m'aperçois que, même après effacement des données, les services restent opérationnels.

Au début, je n'y crois pas un instant car je suis dans l'urgence mais après quelques minutes, il devient évident que les containers continuent de fonctionner normalement.

Pas d'alertes sur le monitoring, pas de de mails d'erreurs, rien.

Je ne suis pas croyant pour un sou mais, à ce moment là, j'aime à penser que dans l'informatique, il y a une "lueur" divine qui veille sur tous les "pêcheurs" (à la ligne... :mrgreen: ).

# ---

Bref, depuis plus de trois heures, j'ai un script Bash qui tourne pour restaurer les containers perdus.

Et là, j'attends...

Je ne rentre pas dans les détails techniques mais avec un script sur mesure (donc codé à la main) de seulement 13 lignes, j'ai pu automatiser la restauration.

# ---

La partie n'est pas gagnée pour autant.

Si tout est OK, demain, cela va être une journée "normale".

Sinon, mis à part me pendre, je ne sais pas quoi faire.

Il est 04h29, j'attends la sentence.

Bonne nuit ! :D
Avatar de l’utilisateur
dnstouron
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Contact :
Moto(s) : ZZR1100 D1 & GPZ500-E10
Signe particulier : regardez mon avatar :)
Localisation : A la campagne dans 28 proche Dreux
Messages : 10074
Inscription : 16 mai 2010, 17:36

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

06 nov. 2022, 09:05

Les fameuses loies des emmerdes maximum
Bon courage :kiss:
Image
ZZR un jour, ZZR toujours
Club des 100 000
POST PouAaAAAAaaaa !!!
Avatar de l’utilisateur
goldo
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : GPZ
Messages : 4940
Inscription : 25 oct. 2011, 21:52

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

06 nov. 2022, 13:52

Bravo pour ton professionnalisme ,c'est une chose qui se perd de nos jours . :coucou:
Avatar de l’utilisateur
schwomp
Membre à vie du GPZ Dream Team :D
Membre à vie du GPZ Dream Team :D
Moto(s) : SV 650 S (un bi qu'il est bien !)
Signe particulier : Intégriste (mais j'me soigne...)
Localisation : Quimper
Messages : 2992
Inscription : 31 déc. 1976, 22:59

Re: [Linux] Élucubrations d'un sysadmin neurasthénique mais motivé

07 nov. 2022, 01:03

Suite !

Quelques rectifications, l'émotion ayant troublé l'objectivité :

1) les données "perdues" étaient de "seulement" 500 Go (1 To, ce sont les backups incrémentaux associés à ces données)

2) c'est le fait de créer un container avec de mauvais paramètres qui a totalement "zappé" le répertoire /vz/private (et non la suppression de ce CT).

3) je respire à nouveau bien que je redoute, fait hautement détestable mais improbable, une corruption aléatoire de certaines données

Les forums ER5/GPZ/ZZR ne sont pas concernés.

# ----

Donc ce "soir", je prends ma soirée et je regarde un bon film.

Lundi est un autre jour.

L'avenir me dira si j'ai fait le bon choix (ou non).

Version courte : il semblerait que le comportement des "file descriptor" de Linux soient à l'origine de ce qui semblait impossible.

=> Restaurer des données "chaudes" alors que les fichiers sous-jacents étaient effacés.

Bonne nuit ! :D

Revenir à « Discussions libres »

Connexion · Inscription

Big brother

Au total, il y a 16 utilisateurs en ligne :: 3 inscrits, 0 invisible et 13 invités
Utilisateurs inscrits : Bing [Bot], Google [Bot], Majestic-12 [Bot]
Le nombre maximal d’utilisateurs en ligne simultanément a été de 113 le 28 sept. 2022, 14:58
262691 messages
12889 sujets
5974 membres
Notre membre le plus récent est jackrenault
Aucun membre ne fête son anniversaire aujourd’hui.