Project

General

Profile

Bug #37913

Améliorer la mise en cache de get_warehouses

Added by Valentin Deniaud about 5 years ago. Updated about 5 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
25 November 2019
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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

Revision 6553db03 (diff)
Added by Valentin Deniaud about 5 years ago

visualization: share warehouses between visualizations (#37913)

History

#1

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.

#2

Updated by Valentin Deniaud about 5 years ago

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

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.

#4

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é.

#6

Updated by Benjamin Dauvergne about 5 years ago

  • Status changed from Solution proposée to Solution validée
#7

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.

#8

Updated by Frédéric Péters about 5 years ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF