Bug #37913
Améliorer la mise en cache de get_warehouses
0%
Description
Suite à #27412 la durée des tests est passée de 20 min à 1h30. Ce ticket avait introduit la nécessité de mettre en cache les retours de get_warehouses, mais le cache django utilisé s'avère trop lent sur les gros objets, conséquence des appels à pickle.
Files
Associated revisions
History
Updated by Benjamin Dauvergne about 5 years ago
On peut reprendre ta première intuition d'utiliser l'objet request global stocké par hobo.middleware.utils.StoreRequestMiddleware
mais comme je le notais dans #27412 ça peut aussi passer par une réorganisation du code qui permette de threader (passer de proche en proche) warehouses
plus simplement, i.e. par exemple avec un accesseur qui obtiendrait warehouse en même temps que les visualisations. C'est un peu plug long mais ça a le mérite d'être plus explicite.
Updated by Valentin Deniaud about 5 years ago
- File 0001-visualization-share-warehouses-between-visualization.patch 0001-visualization-share-warehouses-between-visualization.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Je tente l'approche que tu suggères.
Est-ce que je revert le commit qui met les warehouses en cache ? Il reste toujours ~10x plus rapide que les accès disques, mais d'un autre côté on a supprimé les appels fréquents, raison pour laquelle il avait été mis en place.
Updated by Benjamin Dauvergne about 5 years ago
Valentin Deniaud a écrit :
Je tente l'approche que tu suggères.
Est-ce que je revert le commit qui met les warehouses en cache ? Il reste toujours ~10x plus rapide que les accès disques, mais d'un autre côté on a supprimé les appels fréquents, raison pour laquelle il avait été mis en place.
Oui revert, comme je le notais il casse bijoe en production (on va voir avoir les visualisations d'un tenant sur un autre).
Par contre il doit manquer un truc parce que je ne vois pas où from_json()
serait appelé avec le nouveau paramètre warehouses
.
Updated by Valentin Deniaud about 5 years ago
je ne vois pas où from_json() serait appelé avec le nouveau paramètre
Nulle part effectivement, je l'ai enlevé.
Updated by Valentin Deniaud about 5 years ago
- File 0002-visualization-share-warehouses-between-visualization.patch 0002-visualization-share-warehouses-between-visualization.patch added
- File 0001-Revert-utils-cache-warehouses-27412.patch 0001-Revert-utils-cache-warehouses-27412.patch added
Avec le patch c'est mieux.
Updated by Benjamin Dauvergne about 5 years ago
- Status changed from Solution proposée to Solution validée
Updated by Valentin Deniaud about 5 years ago
- Status changed from Solution validée to Résolu (à déployer)
commit 6553db03ed30201fc958358b06319ec0695770b0 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Mon Nov 25 13:46:15 2019 +0100 visualization: share warehouses between visualizations (#37913) commit 90a5bb49c4c6fa28690a7fe50404123e0960f314 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Mon Nov 25 15:06:11 2019 +0100 Revert "utils: cache warehouses (#27412)" This reverts commit ba2c0c4fabba4d3ff71dde36ede01c812bc73282.
Updated by Frédéric Péters about 5 years ago
- Status changed from Résolu (à déployer) to Solution déployée
visualization: share warehouses between visualizations (#37913)