Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
fonctionnalites:geonature:synthese-export-statuts [2025/06/27 14:55] – [Tests de performance] choarau | fonctionnalites:geonature:synthese-export-statuts [2025/07/04 15:21] (Version actuelle) – [Solution retenue : création de VM intermédiaires] jpmilcent |
---|
* pr : protection régionale | * pr : protection régionale |
* pd : protection départementale | * pd : protection départementale |
* lrm : liste rouge mondiale | * <del>lrm : liste rouge mondiale</del> |
* lre : liste rouge européenne | * <del>lre : liste rouge européenne</del> |
* lrn : liste rouge nationale | * lrn : liste rouge nationale |
* lrr : liste rouge régionale | * lrr : liste rouge régionale |
* lrd : liste rouge départementale | * lrd : liste rouge départementale |
* zdet : znieff déterminante | * zdet : znieff déterminante |
* reglii : Interdiction d'introduction | * <del>reglii : Interdiction d'introduction</del> |
* reglutte : Lutte contre certaines espèces | * <del>reglutte : Lutte contre certaines espèces</del> |
* regl : Réglementation | * <del>regl : Réglementation</del> |
* reglso : Réglementation sans objet | * <del>reglso : Réglementation sans objet</del> |
| * do : directive habitats |
TO DO : | * do : directive oiseaux |
* rajouter commandes vidage cache postgresql | |
* mail Ornella colonnes à rajouter : 4 colonnes (LR, Protection, Reglementation, ZNIEFF) avec aggrégation des code_stauts par cd_type_statuts ou 13 colonnes avec code_status en valeur ? | |
* Ajout script SQL création VM | |
* Modif script maintenance | |
| |
| En pofiter pour ajouter les colonnes : |
| * determinateurs |
| * floutage |
| * statut_validation |
| |
**ATTENTION** : l'ajout de ces informations pose des problèmes de performance avec une augmentation non négligeable des temps d'attentes avant le téléchargement et le risque que la demande n'aboutisse pas. | **ATTENTION** : l'ajout de ces informations pose des problèmes de performance avec une augmentation non négligeable des temps d'attentes avant le téléchargement et le risque que la demande n'aboutisse pas. |
Nous testerons donc la possibilité d'utiliser une vue matérialisée en remplacement de la vue dynamique actuellement utilisée. Si elle s'avère plus efficace, nous la mettrons en place. | Nous testerons donc la possibilité d'utiliser une vue matérialisée en remplacement de la vue dynamique actuellement utilisée. Si elle s'avère plus efficace, nous la mettrons en place. |
| |
==== Création de VM intermédiaires ==== | ==== À faire ==== |
Après avoir analysé la VM d'export de la Synthese sur Dalibo, il paraît pertinent de créer trois VM intermédiaires pour améliorer les performances (réduire le temps de rafraîchissement de la VM d'export) : | |
* taxonomie.taxon_area_status : mettre lien vers requête SQL (https://github.com/cbn-alpin/sinp-aura-data/tree/main/db-geonature/data/sql) | * <todo #choarau:2025-06-27>rajouter commandes vidage cache postgresql</todo> |
* gn_synthese.synthese_status : mettre lien vers requête SQL (https://github.com/cbn-alpin/sinp-aura-data/tree/main/db-geonature/data/sql) | * <todo #choarau:2025-06-27>mail Ornella colonnes à rajouter : 4 colonnes (LR, Protection, Reglementation, ZNIEFF) avec agrégation des ''code_statuts'' par ''cd_type_statuts'' (sous quel format ?) ou 13 colonnes avec ''code_status'' en valeur ?</todo> |
* gn_synthese.synthese_municipality : mettre lien vers requête SQL (https://github.com/cbn-alpin/sinp-aura-data/tree/main/db-geonature/data/sql) | * <todo #jpmilcent:2025-07-04>Ajout script SQL création VM</todo> |
| * <todo #jpmilcent:2025-07-04>Modif script maintenance</todo> |
| |
| |
| ===== Solution retenue : création de VM intermédiaires ==== |
| Après avoir analysé la VM d'export de la Synthese sur Explain Dalibo, il paraît pertinent de créer trois VM intermédiaires pour améliorer les performances (réduire le temps de rafraîchissement de la VM d'export) : |
| * [[https://github.com/cbn-alpin/sinp-aura-data/blob/main/db-geonature/data/sql/010_create_vm_for_synthese_export.sql#L669| taxonomie.taxon_area_status]] |
| * [[https://github.com/cbn-alpin/sinp-aura-data/blob/main/db-geonature/data/sql/010_create_vm_for_synthese_export.sql#L103|gn_synthese.synthese_status]] |
| * [[https://github.com/cbn-alpin/sinp-aura-data/blob/main/db-geonature/data/sql/010_create_vm_for_synthese_export.sql#L49||gn_synthese.synthese_municipality]] |
| |
===== Tests de performance ===== | ===== Tests de performance ===== |
| |
L'export a été testé avec les utilisateurs **admin** et **jpm** car le premier a tous les droits d'accès aux données sensibles et le second aucune (données sensibles dégradées). | L'export a été testé avec les utilisateurs **admin** et **jpm** car le premier a tous les droits d'accès aux données sensibles et le second aucune (données sensibles dégradées). |
| |
| Commande pour vider le cache de la base de données (en root) : ''systemctl stop postgresql && sync && echo 1 > /proc/sys/vm/drop_caches && systemctl start postgresql'' |
| |
| |
| 100 000 | 5.50s | 6.96s | 46.67 s | 50.03 s | 7.07s / 16.13 s (cache postgresql vidé) | 11.72s / 17.79 s (cache postgresql vidé) | 9.72s / 9.68s (cache postgresql vidé) | 10.08s / 11.48s (cache postgresql vidé) | | | 100 000 | 5.50s | 6.96s | 46.67 s | 50.03 s | 7.07s / 16.13 s (cache postgresql vidé) | 11.72s / 17.79 s (cache postgresql vidé) | 9.72s / 9.68s (cache postgresql vidé) | 10.08s / 11.48s (cache postgresql vidé) | |
| |
Résultat : La création des VM intermédiaires et le passage à une VM pour la vue d'export de la synthese est la solution la plus performante. | ===== Résultat ===== |
| |
| La création des VM intermédiaires et le passage à une VM pour la vue d'export de la Synthese est la solution la plus performante. Les performances restent très correcte. Nous avons préparer [[https://github.com/cbn-alpin/sinp-aura-data/blob/main/db-geonature/data/sql/010_create_vm_for_synthese_export.sql|un script de mise en production]] qui a été réalise le 4 juillet 2025. |