- Navios
- 23 de setembro de 2026 às 13:39 UTC
- Autor
- Kamo
- Enviar
- 60e1921
Três consultas pg stat statements mostradas como a produção superior do kbservice DB custo, tudo de perguntar em um loop (ou com um plano o legado YugabyteDB planner escolheu mal) o que uma única consulta poderia responder: - Está bem. (o mapa do site e cada árvore pública/lista/dados de resposta de um único artigo) agora lê-se * **************** pg hint plan-hinted native query (kamo-shared-library, separe commit) que pinos um Hash Junte-se ao planejador não estava escolhendo sozinho. ~6,000 chamadas em ~11 s cada na produção; verificado com EXPLAIN, 11,9 s -> 0,2 s para a mesma org de 308 artigos. - Está bem. (o dez minutos de tradução-reteste varrimento) agora pergunta Uma vez pela lote inteiro de artigos publicados em vez de countByArticle Uid per Artigo — 1.7M chamadas em produção, substituídas por uma leitura agrupada. - buildPublicChildrenMap e buildUidToGuidMap, no KbArticleService, são removido. Eram código morto deixado para trás quando ************* ****** se mudou para tomar um pré-construído PublicTreeIndex (155e7de) em vez de reconstruir um de uma linha completa carga do artigo: nenhum tinha um chamador deixado, mas cada um ainda era exatamente o ~306.000- call / ~80 ms full-row kb articles query (content json included) pg stat statements shown — uma armadilha lenta e inalcançável para próxima chamada para encontrar usando-o, não tráfego ao vivo. buildPublicTreeIndex ela própria já lê a carga de projeção estreitaArtigos PúblicosForTree adicionado em 155e7de, confirmado ao vivo na produção (8.730 chamadas em ~17 ms cada, crescendo) — essa correção já enviada; isto apenas remove os dois Os restantes locais de chamada ainda são capazes de reintroduzir o custo total da linha. Testes: KbTranslatedLocalesServiceTest e **************************** cobrir o loteamento deste acrescenta (tambagem, manipulação de UID nulo/duplicado, mapeamento de linha agrupada, "ausente" significa zero); ambas as mutações verificadas revertendo a correção localmente, Confirmando que ficam vermelhas e restauram. Também revisado: kb article relations e a lista paginada de KB-admin consultas (org/status/parent id variantes do kb articles full-row load) aparecer em pg stat statements com grandes totais, mas não notável por chamada latência (1-20 ms) e nenhum sinal de um mau plano — deixado em paz. **************** é chamado uma vez por item na página pública filhos-por-pai-slug (liderada por página tamanho, fechado atrás locale não-inglês) — não o padrão em fuga o Outros três foram, por isso também deixados em paz.
