Myriad Blog 1.3.0 Sunday, May 27th, 2018 at 04:06pm 

Friday, Dec 28th, 2012 at 04:58pm
Mise à jour de Kooplet

 
Cela faisait longtemps que nous n'avions pas mis à jour la base de Kooplet.
Globalement, peu de sites disparaissent du jour au lendemain, donc l'essentiel de la base demeurait valide.
 
Malheureusement, un énorme site de partitions classiques a récemment été absorbé par un autre site, encore plus énorme.
 
Cela nous oblige donc à supprimer de notre base tous les liens vers le premier site, et d'indexer le second. Cela fait près de 80 000 entrées qu'il faut supprimer de la base.  
Nous n'avions pas prévu qu'un tel volume puisse être supprimé d'un coup, et notre procédure d'effacement est complexe, car elle doit non seulement supprimer l'entrée elle-même, mais également toutes les données précalculées permettant d'effectuer rapidement les recherches mélodiques.
 
La suppression complète d'une entrée prend environ 10 secondes de CPU. Ne pouvant pas bloquer notre serveur, il faut compter ne pouvoir utiliser que 50% de sa capacité de traitement, donc la suppression d'une entrée prend 20 secondes de temps effectif.
 
80 000 entrées, à 20 secondes par entrée, cela fait 1 600 000 secondes, soit au minimum 18 jours non stop pour achever le travail !
 
Nous cherchons donc un moyen de réaliser ça plus rapidement, quitte à arrêter Kooplet quelques heures, le temps que le traitement se fasse.
 
Bon week-end à tous !
by Olivier Guillion
Comments

Comment from Cri-Cri Friday, Dec 28th, 2012 at 05:53pm
Un long couplet
Un couplet qui dure 18 jours laisse espérer un refrain à l'avenant, et que dire alors de la chanson ?  

Comment from Sylvain Friday, Dec 28th, 2012 at 08:32pm
(No subject)
10 secondes CPU pour une entrée, ça fait bien long je trouve. Base de données SQL ou sauce interne ?
 
Stopper Kooplet pour faire le traitement, donc 100% du CPU, ça fait quand même 9 jours d'interruption.

Comment from Olivier Guillion Saturday, Dec 29th, 2012 at 00:49am
@Sylvain
C'est une base de données développée en interne, avec quelques gigas de hash-tables pour accélérer les recherches.
 
La consultation et l'ajout de données ont été privilégiés au détriment de la suppression.  
 
L'idée n'est pas de faire tourner le même programme à 100% du CPU, mais de développer un module bas niveau qui tape dans les bases en binaire et traite tous les 80000 éléments à supprimer en un seul passage sans se soucier des accès concurrentiels.
 
Le script est déjà écrit et en cours de test. Il devrait mouliner pendant environ 1/2h à la louche, mais nécessitera d'arrêter les scripts du serveur pendant la durée du traitement.

Comment from Antoine Bautista Saturday, Dec 29th, 2012 at 08:26am
Gris et gris
Quote:
Olle distingue 3 millions de niveaux de gris, alors qu'un être humain à jeun n'en voit qu'une centaine. Cela ne va pas sans poser quelques problèmes pratiques.
 
 
Je crois qu' Olle a fait des siennes sur Kooplet en tout cas c'est ce que je vois de chez-moi,
pendant que vous y êtes une petite retouche serait bien      
PS: Je pensais qu'Ol-lait était espagnol   ! ! Ola je me suis trompé.
 
A+


Most recent first
Oldest first

Top of page
Legal information Last update:  (c) Myriad