Édition des carnets et liste par instructeur
Envoyé par: fg@numlog.fr ()
Date: mercredi 4 juin 2008 08:34:19

Bonjour,

Sous OF2.0 : lorsque l'on liste un carnet de vol ou de route, ou les vols pour un instructeur, il n'est pas possible de préciser une période au moment de la requête. Il faut attendre un premier résultat et refaire une requête. Résultat on peut attendre plusieurs dizaines de secondes pour rien.
D'autre part, lorsqu'un pilote veut re-valider sa licence, il lui faut son historique sur les 12 derniers mois. Or on peut préciser soit un mois particulier (mois complet) ou une année entière. Je n'ai pas trouvé de moyen de demander la liste des vols sur une année non calendaire.
Même remarque pour les carnets de route et la liste des vols par instructeurs : ce serait commode !

Cordialement,

Francis GASCHET
Aéroclub Jean Bertin

Options: RépondreCiter
Re: Édition des carnets et liste par instructeur
Envoyé par: claratte ()
Date: mercredi 4 juin 2008 09:24:14

Si vous attendez dix secondes, c'est que votre serveur est lent ;-)

Avez notre hébergement une page est fabriquée en moins d'une seconde dans 90% des cas.

Voici par exemple les statistiques d'hier du serveur qui héberge OF 2 :

Statistiques du serveurII (dit Libellule) pour la journee du 20080603
Durees (en sec.) : 1 2 3 4 5 6 7 8 9 10 11 20 22 70
Nombres : 13739 853 41 14 2 12 2 1 2 3 1 1 1 1
Duree minimale : 1
Duree maximale : 70
Nombre de pages vues : 14673
Duree moyenne : 1.0835548286
Ecart type : 0.7162794725

Donc, pour nos utilisateurs, cette attente n'est pas rédhibitoire. De plus, quelle page afficher par défaut ? Cela dépend de ce que vous voulez...

Par contre, pour votre demande sur les 12 derniers mois, effectivement, cela pourrait être un plus. Mais cela relève du "cosmétique" et non du fondamental (on peut faire sans). Donc, si vous voulez qu'on fasse, faut payer ;-)
C'est 100 €.

Christophe LARATTE
OpenFlyers manager

Options: RépondreCiter
Re: Édition des carnets et liste par instructeur
Envoyé par: fg@numlog.fr ()
Date: mardi 10 juin 2008 13:09:32

Bonjour,

Je pense avoir identifié l'origine de mon problème : absence d'index sur la table flight_pilot.

J'ai (re)créé un index sur le champ pilot_id. Résultat : avec tous les vols de 2007 + Janvier et Février 2008 (soit 4483 vols), un carnet de vol sort entre moins d'une seconde et 1,5 seconde.
Sans cet index : plus de 25 secondes !

Pour voir, j'ai importé tout l'historique de Gestac, soit 48429 vols (depuis 01/01/1995). Import en environ 30 S.
Edition d'un carnet de vol : max 25 secondes pour 1 an.
Sans l'index, au bout d'une demi heure je n'ai pas vu d'autre solution que zigouiller le processus mysql !

Donc je suppose que cet index a été viré par mégarde lors d'une de mes manips...
Merci de me confirmer ça.

Francis GASCHET
Aéroclub Jean Bertin

Options: RépondreCiter
Re: Édition des carnets et liste par instructeur
Envoyé par: claratte ()
Date: mardi 10 juin 2008 20:08:41

Bonjour,

Sur la table flight_pilot, il n'y a pas de clé...

Mais par contre, avec 49000 vols, il est possible que cela freine un peu.

Pour le moment, le plus gros qu'on ait, c'est 2800 vols, et cela ne freine pas.

Ce qui peut peut-être jouer aussi c'est la structure de la base de données (MyISAM, ou je ne sais trop quoi). Mais je ne suis pas spécialiste en optimisation de base de données, c'est un sujet qui pour le moment ne nous préoccupe pas ;-)

Par contre, dans la table flight, il y a une clé primaire sur l'id.

Mais si j'ai bien compris, lorsque vous affichez les vols, vous avez d'abord TOUS les vols ?

(normalement vous ne devriez avoir que les vols du mois en cours)

Christophe LARATTE
OpenFlyers manager

Options: RépondreCiter
Re: Édition des carnets et liste par instructeur
Envoyé par: fg@numlog.fr ()
Date: mercredi 11 juin 2008 11:33:06

Bonjour,

Non, j'ai le mois en cours seulement.

Le test avec 48500 vols, c'était pour voir...
Et j'ai vu : sans index on peut considérer que ça plante mysql, dans la mesure où après avoir fait stop (au bout d'une demi heure), le processus mysql continue à bouffer 100% de CPU...
Avec l'index sur pilot_id (il s'agit bien d'un index et non d'une clef primaire), le rapport pour les vols d'une année sur une base de 48500 vols sort en environ 25 secondes.

Sur une base de 4400 et quelques vols (14 mois d'activité), sans index, le rapport sort en 25 secondes. Avec index : moins d'une seconde (un mois) à 1,5 seconde (une année).

Bien sûr votre serveur est plus puissant que mon portable. Mais il sert un certains nombre de clubs, et les bases vont grossir !
Il me semble donc qu'il peut être intéressant de ne pas se priver de cette économie de ressources. Surtout qu'il n'y a quasiment rien à faire !

Qu'en pensez-vous ?

Francis GASCHET
Aéroclub Jean Bertin

Options: RépondreCiter
Re: Édition des carnets et liste par instructeur
Envoyé par: claratte ()
Date: mercredi 11 juin 2008 12:23:41

Bonjour,

> Qu'en pensez-vous ?

Je pense comme vous.

J'irai même plus loin : si vous arrivez à migrer vos 48500 vols, je vous fait (finalement) la migration pour 0 €. Ainsi, on aura une grosse base avant que 50 ou 100 bases ne grossissent d'un coup. Et on pourra donc voir tranquillement en "laboratoire" comme cela se comporte plutôt que d'être pris le couteau sous la gorge en prod, une fois que les 50 ou 100 bases auront atteint une taille conséquente (et faire des mauvais choix comme prendre un serveur supplémentaire, alors qu'il aurait suffit de rajouter des index ;-).

Cela fait 2 fois en 1 semaine que vous nous permettez d'améliorer notre service par vos propositions (l'autre fois c'était sur les mails du bts).

Merci !

Christophe LARATTE
OpenFlyers manager

Options: RépondreCiter
Re: Édition des carnets et liste par instructeur
Envoyé par: fg@numlog.fr ()
Date: mercredi 11 juin 2008 14:09:10

> J'irai même plus loin : si vous arrivez à migrer vos 48500 vols...

Je les charge sans problème.
D'ailleurs, si vous voulez vous en servir comme banc de test, je vous envoie les fichiers et la moulinette. Après accord du club bien sûr (infos personnelles...).

Mon seul doute : il y a des pilotes qui ont été archivés (retirés de la base Gestac). Quand on affiche un carnet de route sur une période un peu ancienne, le nom du pilote reste à blanc dans ce cas. Ça doit aussi arriver pour les instructeurs et peut-être même pour les avions (dans les carnets de vol bien sûr, à vérifier).
Apparemment ça ne pose pas de pb à OF...
Y a-t-il un risque quelconque ? (plantage avec ou sans altération de la base...)

C'est une situation qui risque de se produire ailleurs : au bout d'un moment, la liste des pilotes et des instructeurs (voire des avions) devient un peu trop fouillis et c'est tentant de virer ceux qui ont définitivement quitté le club...

> Cela fait 2 fois en 1 semaine...
On ne pourrait pas exercer les activités que nous exerçons dans ma boîte sans le libre.
Nous en usons, en abusons et apportons notre petite pierre à l'édifice quand l'occasion se présente. Ça ne peut marcher que comme ça winking smiley

Francis GASCHET
Aéroclub Jean Bertin

Options: RépondreCiter
Re: Édition des carnets et liste par instructeur
Envoyé par: claratte ()
Date: mercredi 11 juin 2008 14:39:01

> Y a-t-il un risque quelconque ? (plantage avec ou sans altération de la base...)

Tant qu'on ne fait que visualiser, il y a juste un risque de bug à l'affichage (avec éventuellement un plantage), mais pas de risque pour la base. C'est juste qu'on n'aime pas trop, car chez nous cela crée des warning dans notre fichier php.log et que du coup on pense à une rupture d'intégrité de base de données et donc on enclenche une recherche de bug. Donc pour éviter cela, il vaudrait mieux créer des entrées "dummy" et faire un "UPDATE flight_pilot set pilot_id=xxx WHERE pilot_id not in (select id from authentication)" avec xxx qui vaut l'id du dummy (entrée dans la table authentication) et le "not in" doit être traduit en quelque chose que SQL comprend (avec les sous-requêtes).

> c'est tentant de virer ceux qui ont définitivement quitté le club

Oui, c'est une demande récurrente des clubs, mais pour le moment, on ne fait que désactiver pour deux raisons :

- le problème d'intégrité
- la loi sur la conservation des données

Dans 5 ans (je crois), on créera une moulinette qui permettra de nettoyer intelligemment tout cela sans créer de rupture d'intégrité (par exemple pas de vol ou résa ou écriture comptable de moins de 5 ans liées au pilote)

Christophe LARATTE
OpenFlyers manager

Options: RépondreCiter


Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.
This forum powered by Phorum.