Projet

Général

Profil

Bug #37913

Améliorer la mise en cache de get_warehouses

Ajouté par Valentin Deniaud il y a plus de 4 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
25 novembre 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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.


Fichiers

Révisions associées

Révision 6553db03 (diff)
Ajouté par Valentin Deniaud il y a plus de 4 ans

visualization: share warehouses between visualizations (#37913)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

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.

#2

Mis à jour par Valentin Deniaud il y a plus de 4 ans

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.

#3

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

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.

#4

Mis à jour par Valentin Deniaud il y a plus de 4 ans

je ne vois pas où from_json() serait appelé avec le nouveau paramètre

Nulle part effectivement, je l'ai enlevé.

#6

Mis à jour par Benjamin Dauvergne il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée
#7

Mis à jour par Valentin Deniaud il y a plus de 4 ans

  • Statut changé de Solution validée à 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.

#8

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF