Ok, ho capito ![]()
La mia prima correzione ha risolto solo una parte del problema
C’era un’altra query inefficiente al database che veniva eseguita durante la ricerca di gruppi nel filtro della chat. A seconda dei gruppi che corrispondevano al termine di ricerca, la query poteva richiedere molto tempo per essere completata, a volte superando il timeout della nostra richiesta.
È interessante notare che questo ha interessato solo gli utenti “normali” e non gli “admin”, motivo per cui non sono riuscito a riprodurlo io stesso ![]()
Quando si cercano gruppi, i risultati vengono restituiti in ordine alfabetico. Gli admin possono vedere tutti i gruppi, quindi i loro primi 10 risultati per “L” erano gruppi piccoli che iniziavano con ‘a’ (come “ai-personas” e altri gruppi non pubblici). Gli utenti normali hanno una visibilità più limitata, quindi i loro risultati includevano i grandi gruppi di livello di fiducia
, che è ciò che ha causato la query lenta.
L’utente normale vede:
- trust_level_0: 62.506 utenti
- trust_level_1: 34.494 utenti
- trust_level_2: 4.727 utenti
- trust_level_3: 39 utenti
- trust_level_4: 13 utenti
- più alcuni gruppi più piccoli
Totale: ~102.000 utenti da caricare ![]()
L’admin vede:
- a*****: 4 utenti
- a*****: 76 utenti
- a*****: 0 utenti
- a*****: 2 utenti
- ai-personas: 138 utenti
- ecc.
Totale: ~240 utenti da caricare ![]()