Voici quelques semaines (presque deux mois) que la plateforme sur laquelle ubuntu-fr est herbergé connaît des problèmes. Le retour à la normale est en cours et nous espérons pouvoir très bientôt vous faire bénéficier d'une qualité de service comparable à celle avant cette crise.
Nous tenons à remercier tous ceux qui ont été patients et nous ont soutenus (aussi bien ubuntu-fr qu'ubuntu-eu), ainsi que nos détracteurs qui n'ont pas été tendres. Ce message est là pour leur montrer que personne ne s'est tourné les pouces pendant ces deux mois estivaux, malgré ce que certains proclamaient sans connaître le problème sous-jacent ni même sans prendre le soin de se renseigner sur les différents messages dont nous vous avons déjà fait part.
Il reste encore la recherche à remettre en place. Si vous êtes intéressés pour y contribuer, voici le message explicatif de ce qu'il faudrait mettre en place.
Voici une explication complète publiée sur ubuntu-eu très gentillement traduit en français par poupoul2 (voici l'exemple d'une contribution à la portée de toute personne pouvant lire l'anglais, bien plus utile que les commentaires de certains…)
DEBUT DE LA TRADUCTION
Problèmes de ces dernières semaines - Explication
Un grand nombre de discussions ont actuellement lieu, à propos des problèmes de lenteur rencontrés par les serveurs récemment. La situation est plutôt complexe, en voici une explication.
Nous avions précédemment un serveur pour Apache et un serveur MySQL, répliqués pour les besoins de sauvegarde. Pour répondre aux besoins d'évolutivité, nous avons commencé à migrer en octobre dernier vers une nouvelle architecture permettant la répartition de charges. Cette architecture contenait 2 Apache, 1 NAS (Netapp fournir par Norris.net, notre fournisseur principal, qui héberge également tous nos autres serveurs), et un serveur MySQL répliqué. L'équipe française d'administration a été la première à migrer vers cette nouvelle plateforme, les autres équipes restant sur l'ancien serveur Apache.
Au début de l'été, nous avons été éjectés du NAS, pour cause d'usage trop intensif. Nous avons réussi à obtenir en urgence un nouveau serveur (répondant au doux petit nom de Nun), que nous avons envoyé de France vers Nuremberg. Nun est un serveur basé sur un Dual Xean 3Ghz, épaulé par 4Gb de RAM et 5 disques SCSI 10k de 70Gb, une configuration adaptée pour NFS. Malheureusement, les performances se sont révélées très mauvaises, provoquant de mauvais temps de réponse. La situation a même empiré, lorsque nous avons tenté de migrer également la documentation vers le serveur NFS ; Dokuwiki (le logiciel sur lequel se base la documentation) était en cause dans ce cas précis. Nous avons donc décidé que Dokuwiki ne tournerait que sur un seul serveur (hors du NAS), Durant nos investigations; cela nous a permis de trouver et de documenter des anomalies. Depuis, des correctifs et des améliorations du code de Dokuwiki ont été réalisés par l'équipe d'Ubuntu-fr. Quelques patchs restent encore en attente de test de mis en charge avant de les mettre en production.
Indépendamment de la documentation, les performances constatées sont nettement inférieures, à celles que nous attendions, et l'infrastructure s'est révélée incapable d'accueillir les autres équipes locales. Au terme d'une longue analyse (merci à Smurf), nous avons découvert un bug dans le noyau de Hardy Heron, qui sur-sollicitait la carte Raid (Bug reporté ici). Nous avons donc migré le site ubuntu-de sur un seul des nouveaux serveurs Apache : le portail ubuntu-de n'était pas conçu pour permettre la répartition de charges), et avons utilisé l'ancien serveur Apache comme serveur NFS. Asa est piloté par un Dual Xean 3Ghz, épaulé par 4Gb de RAm et 3 disques SCSI 10k (donc assez proche de Nun), mais tournant sous Dapper Drake et non de Hardy Heron. Les performances se sont révélés 10 fois meilleures sur Asa que sur Nun. Nous avons donc arrêté d'utiliser Nun : le NFS tournait alors sur l'ancien serveur Apache, qui hébergeait encore quelques équipes locales plus réduites.
Nous avions également à cette époque quelques problèmes majeurs avec notre répartiteur de charges (HaProxy). Pour des raisons divers, certains fichiers étaient systématiquement renvoyés en erreur 504, alors que l'accès à ces mêmes fichiers était possible lorsque nous ne passions pas par le proxy. Il nous a fallu énormément de temps pour diagnostiquer ce problème. Un bug dans HaProxy, dû à une option spécifique de ce proxy, provoquait un renvoi incorrect des en-têtes de fichiers. Le bug a été signalé et sera corrigé. Pour le moment, nous avons désactivé cette option. Ce bug est également présent dans wget.
Il y a quelques semaines, ubuntu-de a totalement revu son système de portail, pour passer à un produit maison. Ce changement a provoqué quelques problèmes. Le passage à un wiki basé sur une base de données a ajouté de la charge au Serveur SQL, déjà très sollicité. Le nouveau système d'ubuntu-de utilisait également mod_wsgi, qui semble présenter quelques problèmes internes (les processus apache n'arrêtaient pas de se forker, le nombre de processus actif attagnait alors la limite supérieure sans raison apparente, se traduisant par des relatissements massifs des requêtes du serveur.)
SQL restait l'un de nos problèmes les plus importants. Nous avons fait l'acquisition de 2x1Gb de mémoire sur ebay, sélectionnés grâce aux informations fournies par lshw. Malheureusement, les barrettes se sont révélées inadaptées. Nous avons malgré tout pu les ré-utiliser sur d'autres serveurs. SQL tournait également sur RAID5, non optimisé, et nous souhaitions passer à RAID1. Au terme de notre mauvaise expérience mémoire, et après migration du RAID, le comportement du serveur s'est révélé erratique. Des choses qui auraient dû fonctionner ne le faisaient tout simplement pas. Une réinstallation complète n'a pas amélioré la situation. SQL a donc été migré vers le serveur NFS, qui s'occupait déjà de NFS, et d'Apache pour quelques sites plus modestes, et qui disposait de disques plus lents.
C'est la raison pour laquelle le serveur SQL s'est révélé très lent durant la dernière semaine. Ce matin, Smurf a fait l'acquisition de 2Gb de RAM sur ebay (avec de bonnes barrettes cette fois-ci). Elles ont été installées cet après midi, puis Hardy Heron a été réinstallé sur le serveur. L'installation semble stable cette fois, nous espérons que le serveur SQL sera totalement disponible demain.
Nous avons en même temps réalisé d'importantes améliorations à la configuration SQL, ainsi qu'à certaines requêtes : Ajout d'une clé manquante dans une des tables de PunBB, suppression de la recherche interne de PunBB (qui verrouillait des tables pendant une longue période, provoquant un gel du forum). La configuration de PunBB a été considérablement améliorée également.
L'équipe locale allemande a également investiguée sur les raisons pour lesquelles leur portail sur-sollicitait Apache. Un bug a été identifié qui pourrait expliquer ce comportement, un correctif a été apporté. Le fonctionnement devrait donc être meilleur.
Pour les curieux, voici la plateforme que nous utilisons maintenant.
FIN DE LA TRADUCTION
Concernant les achats, Ubuntu-eu a définit qu'une loco chaque année s'occupe des frais induits par la plateforme. Cette année, c'est donc ubuntu-fr qui s'est occupé de ces frais.
Voilà, j'espère que ces informations vous auront été utiles et vous montre que personne ne s'est contenté de cette situation mais que de véritables travaux, stress et coups de gueule ont eu lieu pour rétablir au plus vite la situation. De plus, aucune de ces associations ayant l'assise financière pour embaucher un permanent contrairement à d'autres associations du libre, tout ceci s'est effectué bénévolement sur les temps libre de chacun.
En espérant que l'orage est derrière nous, nous espérons qu'ubuntu-fr vous apportera toujours autant de satisfaction. Il nous reste quelques travaux à effectuer sur Drupal, comme remettre la carte des revendeurs, développer certains modules comme la LHU et certaines tâches d'automatisation. Tout ceci pourra se faire dorénavant plus sereinement.
Top