30 Septembre 2016

Optimisation de vos bases de données FileMaker

Nous sommes souvent confrontés dans le cadre de nos sessions de coaching à des questions d’optimisation des bases de données de nos clients. Nous intervenons régulièrement sur des logiciels (développés par un professionnel, un développeur occasionnel ou une personne ressource) qui ont plusieurs années. Une opération pouvait être immédiate il y a encore quelques semaines ( ex : affichage de la liste des factures) et peut aujourd’hui faire l’objet d’une inertie lors son chargement. Pourquoi ?

Les raisons possibles à cette baisse des performances sont multiples et chaque cas doit être étudié attentivement. Toutefois, une des causes les plus fréquentes d’une perte de performance est la montée en charge du nombre d’enregistrements au sein de vos tables. En effet, plus le nombre d’enregistrements est élevé, plus la quantité de données à traiter est importante. Les solutions ? Là encore, elles sont multiples. Mais globalement, faites attention aux éléments suivants dans votre conception et votre déploiement :

1- Le développement

- Les types de rubriques présentes sur vos modèles : évitez autant que possible les calculs non mémorisés et les statistiques.
- Le poids des modèles : plus un modèle est chargé d’objets, plus il sera long à s’afficher.
- Les scripts : Ils doivent être logiques et simples. Les opérations de remplacements et d’importations font partie des plus gourmandes en ressources. N’hésitez pas à exploiter le pas de script : exécuter script sur serveur.
- Le schéma de la base de données : l’inertie peut aussi provenir de la structure de vos liens et de la logique relationnelle. Une arborescence mal pensée pénalise votre application.
- Evitez les rubriques avec trop de texte.

2- Le serveur

- Le serveur doit être suffisamment puissant.
- Si votre base de données est publiée sur le web, il est judicieux d’installer FileMaker server sur 2 serveurs (1 pour le serveur web et l’autre pour le serveur de base de données).
- Le serveur doit être dédié.
- Il faut stopper les scans anti virus durant les périodes d’utilisation de vos bases de données.
- La mémoire allouée au serveur doit être suffisante (Idem pour les postes utilisateurs).

3- Le réseau

- Avoir un réseau de qualité avec un bon débit.

Vous l’aurez compris, l’optimisation doit être dans votre esprit à chaque étape de votre développement. Nous aurons l’occasion de revenir plus en détail sur certains de ces points dans de futurs articles.