Metodtips för Kusto-inmatningsbiblioteket

Den här artikeln beskriver metodtipsen för datainmatning med Kusto Ingest-biblioteket.

Föredrar att köas framför direkt inmatning

I produktionsscenarier använder du den köade inmatningsklienten. Mer information finns i Köad inmatning och Direkt inmatning.

Använda en enda inmatningsklientinstans

Kusto Ingest-klientimplementeringar är trådsäkra och återanvändbara. För varje målkluster använder du en enda instans av antingen en köad eller direkt inmatningsklient per process. Om du kör flera instanser kan klustret överbelastas, vilket gör att det slutar svara eller tar lång tid att svara på giltiga begäranden.

Begränsa spårningsåtgärdsstatus

För stora volymdataströmmar begränsar du användningen av positiva meddelanden för inmatningsbegäranden. Överdriven spårning kan leda till ökad svarstid för inmatning och till och med fullständig klustersvarstid. Mer information finns i Åtgärdsstatus.

Optimera för dataflöde

När du planerar din inmatningspipeline bör du tänka på följande faktorer eftersom de kan ha betydande konsekvenser för dataflödet för datainmatning.

Faktor Description
Datastorlek Inmatning är mer effektivt när det görs i stora segment. Vi rekommenderar att du skickar data i batchar på 100 MB till 1 GB (okomprimerade).
Dataformat CSV är det snabbaste formatet att mata in. För samma datavolym kan JSON ta 2x eller 3x längre tid. Mer information finns i Dataformat som stöds för inmatning.
Tabellbredd Mata bara in viktiga data. Varje kolumn måste kodas och indexeras, vilket innebär att bredare tabeller kan ha lägre dataflöde. Kontrollera vilka fält som matas in genom att tillhandahålla en datainmatningsmappning.
Källdataplats Undvik läsningar mellan regioner för att påskynda inmatningen.
Belastning på klustret När ett kluster har hög frågebelastning tar inmatningen längre tid att slutföra.

Anteckning

Den köade inmatningsklienten delar upp stora datamängder i segment och aggregerar dem, vilket är användbart när data inte kan batchlagras före inmatning.

Optimera för kostnad

Att använda Kusto-klientbibliotek för att mata in data i klustret är fortfarande det billigaste och mest robusta alternativet. Vi uppmanar våra kunder att granska sina inmatningsmetoder för att optimera för kostnader och dra nytta av Azure Storage-prissättningen som gör blobtransaktioner betydligt kostnadseffektiva.

För kostnadseffektiv inmatning:

  • Begränsa antalet inmatade datasegment, till exempel filer, blobar och strömmar.
  • Mata in stora segment på upp till 1 GB okomprimerade data.
  • Välj batchbearbetning.
  • Ange exakt, okomprimerad datastorlek för att undvika extra lagringstransaktioner.
  • Undvik att ange FlushImmediately till true.
  • Undvik att skicka små mängder data med ingest-by eller drop-byutrymmestaggar.

Anteckning

Att överanvända de två sista metoderna kan störa dataaggregering, leda till extra lagringstransaktioner och skada datainmatning och frågeprestanda.