Optimalizácia produkčnej databázy
Slovenský agregátor SMS mikroplatieb
Predchádzajúce optimalizácie nezaberali — skutočná príčina bola na rozhraní databázy a aplikačného kódu. Cieleným reverzibilným zásahom sme znížili záťaž bez výpadku prevádzky.
CPU záťaž 50–60 % → ~20 %, dlhodobo
Výzva
CPU produkčnej databázy sa dlhodobo držalo na 50–60 %, cez deň v špičkách vyššie. Klient už skúšal viacero optimalizácií bez efektu a hrozila mu investícia do výkonnejšieho hardvéru.
Riešenie
Diagnostikovali sme len s read-only prístupom do produkcie. Kombináciou štatistík dotazov, vzorkovania aktívnych spojení, exekučných plánov a rozboru aplikačného kódu sme našli koreňovú príčinu, ktorú súhrnné štatistiky skrývali — a odstránili ju cieleným, plne reverzibilným zásahom bez výpadku.
Výsledky:
- CPU záťaž z 50–60 % na približne 20 % — pokles o viac než polovicu
- Zníženie sa drží dlhodobo; odpadla potreba investície do silnejšieho hardvéru
- Zásah nasadený bez výpadku, s meraním dopadu po každom kroku (služba po službe)
- Diagnostika len s read-only prístupom — bez rizika pre chod systému
Príčina, ktorú štatistiky neukazovali
Väčšinu CPU nespotrebúvalo spracovanie dát, ale réžia — databáza pri každom spustení nanovo kompilovala krátke, veľmi časté dotazy, ktoré sa pre spôsob skladania v aplikáciách nedali cache-ovať. Réžia sa opakovala nonstop bez úžitku. Odhalilo ju až priame meranie toho, čo reálne beží na CPU, spojené s čítaním aplikačného kódu.
Bezpečne, v produkcii
Réžiu sme vypli cielene len pre transakčné aplikačné spojenia, službu po službe, a po každom kroku odmerali dopad. Analytické spojenia, kde má opodstatnenie, sme nechali nedotknuté. Zmena je plne reverzibilná — presne taký prístup, aký umožňuje robiť optimalizácie rýchlo a s pomocou AI v procese práce, no vždy cez dôkaz, nie odhad.
Súvisiace projekty
Máte podobný projekt?
Povedzte nám, čo riešite — ozveme sa s návrhom, ako to spraviť rýchlo a merateľne.
Nezáväzná konzultácia