KamoCRM

Batch due ricerche di traduzione il pianificatore stava facendo male per fila

Performancekamo-shared-library
Spegnimento
23 settembre 2026 alle ore 13:37 UTC
Autore
Kamo
Impegno
cf061b2

kbservice's public KB endpoints e la sua traduttura-retry spazzare entrambi chiesto KbArticoloTraduzioneRepository una riga alla volta. Produzione pg stat statements ha mostrato due costi molto diversi da quello: - findRealTranslationLocales (nuovo): backs the sitemap/hreflang lookup that dice una traduzione reale da TraduciService's English-fallback righe (una riga può tenere l'inglese sotto una chiave locale quando nessun provider esiste per quella direzione). Questo cluster pianifica con l'euristica ereditaria di YugabyteDB modello (non statistica ottimizzatrice) e ha scelto un Nested Loop per il JPQL unire di kb article traduzioni a kb articles: una scansione dell'indice per uid list, quindi un singolo indice di ricerca separato in kb articles per ogni di queste righe — 6.468 RPC di archiviazione per un org di 308-articolo, 11.9 s, per unire due tavoli che si adattano insieme in memoria (~6,000 chiamate a ~11 s ciascuno in produzione). SQL nativo con un suggerimento pg hint plan HashJoin pins il unirsi invece (stessa tecnica come E' il momento giusto. Verificato con EXPLAIN su produzione: 11.9 s -> 0.2 s, stabile sotto plan cache mode = force generic plan (la forma lato server di JDBC prepara effettivamente correre sotto). - countGroupedByArticoloUid (nuovo): la spazzata di dieci minuti ha chiesto conteByArticolo Uid una volta per articolo pubblicato per trovare quali ancora bisogno di locali — 1.7M chiamate in produzione, ogni sub-millisecondo da solo. Un COUNT raggruppato sull'intero lotto è la stessa risposta; un uid assente dal risultato ha zero righe. fili kbservice entrambi in (separare commit, il proprio repo).

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo