Le Toolserver (TS) est un petit groupe de serveurs géré par Wikimedia Deutschland (détails ici). Il héberge un bon nombre de scripts aux utilités diverses (par exemple, c’est là que je fait tourner mon système de bienvenutage automatique, ainsi qu’un système retirant dans les articles les liens pointant sur des images supprimées)
le TS est un énorme plus pour les projets Wikimedia a plus d’un titre, mais je reste avec l’impression que ses ressources sont mal utilisées.
Voici une petite analyse, prise pendant l’écriture de ce billet, des programmes lancés sur le TS, classés par plus utilisation de mémoire. Pour simplifier, je n’ai gardé que les ~15 premiers. Pour correspondance, 1% de la mémoire correspond à 80Mo. J’ai traduit certaines commandes en quelque chose de compréhensible pour le plus grand nombre.
%MEM COMMAND
5.1 interwiki.py
4.3 interwiki.py
3.9 interwiki.py
3.6 interwiki.py
2.9 (tomcat)
2.6 (pircbot)
1.8 (manageur java)
1.5 (pircbot)
1.5 (pircbot)
1.4 (pircbot)
1.4 (pircbot)
1.3 (pircbot)
1.2 interwiki.py
1.2 (un script python inconnu)
1.1 (linky)
1.0 (linky)
1.0 (pircbot)
Petite explication et consommation mémoire cumulée :
- interwiki.py (13% de la mémoire sur cet échantillon, soit ~1040Mo)
- pircbot et linky (12.8% de la mémoire sur cet échantillon, soit ~1024Mo)
Mon analyse rejoint globalement celle faite sur le blog du toolserver : ces deux éléments plombent plus du quart des ressources mémoire du TS, et pour quels avantages ?
linky/pircbot
Linky et pircbot sont deux bots IRC. Et un bot IRC, ça n’est rien de plus qu’un gadget pour geeks. Vu les fonctionnalités (afficher un lien http lorsque quelqu’un tape un [[lien]] sur le chan, etc), le fait que chaque instance prenne entre 80Mo (1%) et 208Mo (2.6%) de mémoire est tout simplement ridicule. Je suis conscient que c’ets en java, mais quand même, faut pas pousser, là…
Interwiki.py
interwiki.py est un robot interwiki. Contrairement aux bots sus-nommés, l’utilité d’un script interwiki est reconnue. Mais dans le même temps, il n’est pas absolument nécessaires qu’ils tournent en permanence (contrairement, par exemple, à un script qui reverte les vandales en temps réel, comme celui de Salebot).
Par conséquent, les faire tourner sur le TS n’est pas indispensable, surtout vu la charge qu’ils causent. Et ça, il serait grand temps que ses utilisateurs sur TS s’en rendent compte (avec une mention spéciale pour le type qui le lance en double…)
Pour comparer, j’utilise moi même interwiki.py , sur mon ordinateur personnel : il se lance le matin quand j’allume mon ordi, et s’arrête chaque soir lorsque je l’éteind (soit 16H de fonctionnement/jour). Rien de bien sorcier, et ça marche très bien. On ne me fera pas croire qu’il faut une bête de course pour le faire fonctionner, vu que ça fonctionnait très bien sur mon ancien portable, qui était du matos « premier prix » datant de 2002.
Bref : Utilisateurs du TS, pensez un peu aux autres !