How Basic Performance Analysis Saved Us Millions

Artikeln beskriver hur en grundläggande prestandaanalys ledde till en tiofaldig förbättring av CPU-användningen för ett PostgreSQL-kluster, vilket förväntas spara miljontals dollar. Problemet var en oväntat hög CPU-användning i kundanalysverktyget Heap, kopplat till en unik indexeringsstrategi med PostgreSQL:s partiella index. Genom att använda "Flame Graphs" kunde författaren visualisera CPU-användningen och identifiera att en stor del av tiden gick åt till att hämta och tolka indexpredikat, snarare än att utvärdera dem. Orsaken till den ineffektiva CPU-användningen var att PostgreSQL:s cache för indexmetadata inte utnyttjades effektivt på grund av enskilda insättningar över många tabeller och process-specifika cachar. Lösningen som föreslogs var att gruppera (batcha) insättningar av händelser som går till samma tabell, vilket skulle minska behovet av att upprepade gånger hämta och tolka indexmetadata.