Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

La page recherche est très lente à charger #571

Open
Volubyl opened this issue Feb 28, 2023 · 1 comment
Open

La page recherche est très lente à charger #571

Volubyl opened this issue Feb 28, 2023 · 1 comment
Assignees

Comments

@Volubyl
Copy link
Collaborator

Volubyl commented Feb 28, 2023

Description du besoin

La page de recherche est très longue à charger (>2sec) et affiche un écran blanc durant le chargement intitiale.

Cela donne l'impression qu'il y a un bug.

Il faudrait éviter qu'une page blanche soit affichée trop longtemps sans donner de l'information aux utilisateur

Approche techniques possibles

Afficher un loader

Cette solution (à priori la plus rapide à mettre en place) car il s'agirait d'afficher un loader durant le chargement

Réduire le temps de requète

Lors de l'affichage de la page de recherche, il y a plusieurs appels HTTP qui sont fait.

Ces requètes HTTP mettent longtemps à obtenir une réponse.

Ce délai de réponse est sans doute lié aussi au temps de réponse de la DB après qu'une ou plusieures requètes SQL pour récupérer les données ont été lancées.

L'objectif serait de pouvoir diminuer le temps des requètes HTTP et donc de p-e duminuer le temps de réponse des requêtes SQL

A mon avis, cette dernière option serait la plus compliquée à mettre en oeuvre mais la plus "propre"

Différentes stratégies

A. Mettre des index sur le modèle Dataset et ses relations

Mettre des index pourrait permettre de diminuer le temps d'éxécution des requètes SQL nécessaires à l'affichage de la pae recherche

PR : #579

B. Redis

Redis est une technologie qui peut permettre de mettre en cache les résultats de requètes DB souvent utilisée.

(à creuser si les index db ne suffisent pas)

C. Activer HTTP2

Selon, cet article HTTP2 peut permettre de réduire le temps d'affichage de la page car HTTP2 permet d'effectuer plusieures requètes simultanées (multiplexing)

@johanricher
Copy link
Member

johanricher commented Mar 20, 2023

Le goulot d'étranglement est l'utilisation de Postgres pour le moteur de recherche. Il faudrait utiliser une solution de cache et/ou moteur d'indexation dédié :

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants