Grants:Project/Rapid/Akeron/Wikiscan/Report/fr

Other languages:
Draft report
This is a draft of a grant report for a grant funded for fiscal year 2019-20. Please do not respond or comment on it just yet: it's not yet ready for review. To read the approved grant submission, please visit Grants:Project/Rapid/Akeron/Wikiscan/Report.

Goals

edit

Did you meet your goals? Are you happy with how the project went?

1) Migrer wikiscan.org sur de nouveaux serveurs

Tâche Résultat Commentaires
Réception et vérifications des nouveaux serveurs OK Il y a eu un problème étrange de réduction de puissance du CPU sur un serveur qui a pris pas mal de temps à diagnostiquer mais cela a fini par être corrigé.
Support HTTPS pour l'ensemble des sous-domaines (wildcard) OK
Mise en place et configuration des serveurs OK Pour la configuration des nouveaux serveurs, j'ai gagné du temps en adaptant des scripts que j'utilise pour d'autres serveurs. J'en ai profité pour mettre à jour le système de l'ancien serveur.
Assurer la compatibilité avec PHP 7 OK Notamment remplacement des list() = each(), count(null)...
Adapter le code de Wikiscan pour répartir les wikis sur deux bases de données externes OK
Déplacer les bases de données sur les nouveaux serveurs OK

2) Inclure l'ensemble des wikis Wikimedia et réaliser les optimisations nécessaires

Tâche Résultat Commentaires
Optimiser les requêtes statistiques des petits wikis pour minimiser le nombre de requête OK

Les requêtes sur la réplication du Tools sont assez lentes, au lieu de lire les données jour par jour, elles sont maitnenant faites mois par mois pour les petits wikis.
Le temps d'une mise à jour complète d'un petit wiki est passé d'environ 45 mins à 3-9 mins. J'ai étendu ce système à des wikis plus gros, à tous ceux dont le total des révisions et des journaux est inférieur à 750,000 (dernière colonne avec day ou month visible ici).
La perte des données par jour à nécessité d'autres adaptations et a généré un bug qui n'a pas été résolu (perte d'un graphique (utilisateur) sur les mois dans le menu calendrier).

Optimiser les serveurs qui devront gérer plus de 800 sites en parallèle OK J'ai privilégié la vitesse sur la sécurité car les données ne sont pas critiques et sont régulièrement recalculées. Par exemple pour Mysql usage de innodb_flush_log_at_trx_commit = 2 et transaction_isolation = READ-COMMITTED.
Ajouter tous les wikis Wikimedia non inclus actuellement OK Le nombre total de wikis est passé de 381 à 896.

3) Adapter et optimiser le code aux restructurations récentes des tables Mediawiki

Tâche Résultat Commentaires
Support des nouvelles tables comment et actor OK
Optimisations des requêtes, notamment pour les gros wikis Partiel Ce problème est plus complexe que prévu : certaines mises à jour échouent parfois lorsque les réplications du tools sont lentes, cela concerne surtout les très gros wikis mais aussi des plus petits wikis lorsqu'il y a une forte activité de robots. Il faudrait faire plusieurs restructurations pour que la taille des requêtes puissent s'adapter automatiquement selon le nombre de lignes à lire.
Pour l'instant j'ai désactivé les jointures des tables des commentaires pour les wikis qui restaient souvent bloqués et certaines mises à jour sont moins fréquentes.

Outcome

edit

Please report on your original project targets.


Target outcome Achieved outcome Explanation
Wikis supportés de 381 à 800+ 896 wikis supportés Tous les wikis publiques ont bien été ajoutés, la liste est visible à partir de cette page [1] (tous les wikis qui avaient moins de 100,000 éditions n'étaient pas inclus avant, cela correspond à la taille 1 à la fin du tableau)


Learning

edit

Projects do not always go according to plan. Sharing what you learned can help you and others plan similar projects in the future. Help the movement learn from your experience by answering the following questions:

  • What worked well?
    La réutilisation et l'adaptation de scripts personnels pour configurer les serveurs a été très utile. Elle a permis de configurer les deux nouveaux serveurs de manière identique et j'ai pu les réutiliser sur l'ancien une fois la mise à jour du système effectuée. Les scripts utilisent de simples commandes SSH et RSYNC, je n'utilise plus Puppet.
  • What did not work so well?
    Le changement de mode de calcul du jour au mois pour les petits wikis a nécessité d'autres adaptations, il y a un bug non résolus dans le menu calendrier avec le graphique mensuel des utilisateurs.
    La lenteur des requêtes sur les réplications Wikimedia nécessiteront plus de développement pour avoir un système intelligent qui puisse s'adapter selon la situation, la taille globale d'un wiki n'est pas un indicateur suffisant car il y a parfois de très gros afflux de contributions automatiques sur des petits wikis et j'ai l'impression que c'est encore plus lent dans ce cas.
    La gestion de projet/grant m'a pris plus de temps que prévu mais j'ai pu gagner un peu de temps sur l'installation des serveurs.
  • What would you do differently next time?
    Prévoir plus de temps pour la gestion de projet.

Finances

edit

Grant funds spent

edit

Please describe how much grant money you spent for approved expenses, and tell us what you spent it on.

Description Heures prévues Heures utilisées
1 Migrer wikiscan.org sur de nouveaux serveurs 21 h 18 h
2 Inclure l'ensemble des wikis Wikimedia 10 h 9.5 h
3 Adapter et optimiser le code aux restructurations Mediawiki 10 h 11 h
4 Gestion de projet 7 h 15.5h
Total 48 h 54 h

Remaining funds

edit

Do you have any remaining grant funds?

No