Ok, eu descobri ![]()
Minha primeira correção abordou apenas parte do problema
Havia outra consulta ineficiente ao banco de dados ocorrendo ao pesquisar grupos no filtro de bate-papo. Dependendo de quais grupos correspondiam ao seu termo de pesquisa, a consulta poderia levar muito tempo para ser concluída – às vezes excedendo nosso tempo limite de solicitação.
Curiosamente, isso afetou apenas usuários “normais” e não “administradores”, razão pela qual eu não conseguia reproduzir o problema sozinho ![]()
Ao pesquisar grupos, os resultados são retornados em ordem alfabética. Administradores podem ver todos os grupos, então seus primeiros 10 resultados para “L” eram grupos pequenos começando com ‘a’ (como “ai-personas” e outros grupos não públicos). Usuários normais têm visibilidade mais limitada, então seus resultados incluíam os grandes grupos de nível de confiança
, o que causou a consulta lenta.
Usuário normal vê:
- trust_level_0: 62.506 usuários
- trust_level_1: 34.494 usuários
- trust_level_2: 4.727 usuários
- trust_level_3: 39 usuários
- trust_level_4: 13 usuários
- mais alguns grupos menores
Total: ~102.000 usuários para carregar ![]()
Administrador vê:
- a*****: 4 usuários
- a*****: 76 usuários
- a*****: 0 usuários
- a*****: 2 usuários
- ai-personas: 138 usuários
- etc.
Total: ~240 usuários para carregar ![]()