KamoCRM

Lote dos miradas de traducción que el planificador estaba haciendo mal por fila

Performancekamo-shared-library
Enviado
23 de septiembre de 2026 a las 13:37 UTC
Autor
Kamo
Commit
cf061b2

Los endpoints de KB públicos de kbservice y su barrido de retorno de traducción ambos preguntados KbArticleTranslationRepository una fila a la vez. Producción's Los desarticulaciones mostraron dos costos muy diferentes de eso: - findRealTranslationLocales (nuevo): respalda el mapa del sitio/hreflang lookup que le dice una traducción real de las filas de travesuras inglesas de TranslateService (una fila puede tener el inglés bajo una clave local cuando no existe ningún proveedor para en esa dirección). Este clúster planea con el legado heurístico de YugabyteDB modelo (sin estadísticas optimizativas) y eligió un bucle de Nested para el JPQL unión de kb-article-translations a kb-articles: un escaneo índice para la uid list, entonces una búsqueda separada del índice de una sola fila en kb-articles para cada una de esas filas 6.468 RPC de almacenamiento para un org 308 artículos, 11.9 s, para unir dos mesas que encajen en la memoria (6.000 llamadas en 11 s cada uno en producción). SQL nativo con una pista de HashJoin de pg.hint-plan pins la unión en su lugar (la misma técnica que ******************* Verificado con EXPLAIN on producción: 11.9 s - 0,2 s, estable bajo plan.cache.mode = force.generic-plan (la forma del lado servidor de JDBC se prepara realmente corrido bajo). - countGroupedByArticleUid (nuevo): el barrido de diez minutos de traducción-retry preguntados condeByArticle-Uid una vez por artículo publicado para encontrar cuáles todavía necesita locales de 1.7M llamadas en la producción, cada submililosseo de 2 miligrosas solo. Un COUNT agrupado en todo el lote es la misma respuesta; un uid ausente del resultado tiene cero filas. Alambres de kbservice ambos en (separate commit, su propio repo).

Todos los cambios

¿Te gusta lo que ves envío?

Comienza con el plan gratuito y vuelve a leer esta página dentro de un mes para ver cómo funcionan las funciones y los beneficios.

Comience gratis para siempreVer los precios