Etude pour l'optimisation de Wikini
Synthèse sur le problème des performances de WakkaFr
Il y a un consensus sur le fait que la rapidité du moteur
WakkaFr est insuffisante et qu'il mérite une optimisation.
- Solutions retenues :
- Il nous faut, en premier lieu rajouter quelques codes pour évaluer les performances (temps d'exécutions des pages php, des requêtes, etc...) --PatrickPaul
- Glaner des références sur les techniques d'optimisation (PHP, MySQL, HTML, ...)
- Il faut étudier un système de cache (et non forcément l'adopter : il faut que les résultats soient probants).
- Solutions rejetées :
- Les MoteursDeTemplatesPhp intègrant un cache constituent une solution d'amélioration des performances, trop lourde dans sa mise en oeuvre et qui nécessite d'apprendre le langage d'un moteur de templates.
Ressources pour l'optimisation
Purger lors de l'édition ?
Pour moi la purge pourrait se faire à l'édition, ça me paraîtrait plus simple et aussi plus performant (pas besoin de vérifier toutes les pages d'un coup). Comme inconvéniant il vient que des pages modifiées très rarement peuvent "attendre" longtemps avant d'être purgées... Mais vu qu'elles sont rarement modifiées, il ne devrait pas y avoir trop de versions à purger de toute façon... --
LordFarquaad
Je crois que les bases grossiraient trop vite. En tout cas c'est prendre le risque. L'idéal absolu, à mon sens, serait de donner la possibilité de plusieurs politiques de purge :
- purger quotidiennement et automatiquement toute la base en fonction de la taille de la base : lorsque la base dépasse une taille fixée par un paramètre de configuration : avantageux quand on veut conserver le maximum et qu'on est chez un hébergeur qui propose des ressources limitées
- purger quotidiennement et automatiquement toute la base en fonction d'un délai de purge
Oui c'est vrai qu'au fond une purge quotidienne devrait être largement suffisant, le problème c'est pour stocker la date de la dernière purge... Je crois que l'idéal serait de stocker cette valeur dans la base de données, mais pour cela il faudrait attendre une évolution de
WikiNi... Je pense que cela a été proposé dans l'
InterfaceDAdministrationWikiNi en fait. Sinon une combinaison purge de la page éditée - purge totale pourrait aussi être une très bonne chose: cela pourrait permettre de réduire considérablement la fréquence de purge totale. (la purge pourrait, par exemple, se faire uniquement s'il y a plus de X pages à supprimer) Ceci serait certainement à considérer après avoir apporté les améliorations que je suggère ci-dessus pour la gestion des versions (si on le fait, mais je pense que ce serait au moins aussi efficace que de travailler sur la purge...)