Zašto je vaš izveštaj spor — i šta zaista pomaže
Kada izveštaj koji vam treba svaki dan traje 40 sekundi, problem retko rešava „jači server". Evo šta zaista ubrzava stvari.
Skoro svaki poslovni sistem u nekom trenutku dobije izveštaj koji se učitava predugo. Prvo je to nelagoda, pa navika, pa ljudi prestaju da ga otvaraju. A odluke se donose na osnovu onoga što se lako vidi.
Dobra vest: sporost je skoro uvek rešiva, i retko zahteva skuplji server.
Prvo se meri, pa se popravlja
Nema optimizacije bez merenja. Prvo utvrdimo gde tačno odlazi vreme — u upit ka bazi, u obradu u aplikaciji, ili u renderovanje. Vrlo često 90% vremena troši jedan jedini upit.
Tri stvari koje najčešće pomažu
- Indeksi. Baza bez pravog indeksa čita celu tabelu za svako pitanje. Pravi indeks pretvara sekunde u milisekunde.
- Prekalkulacija. Ako se isti zbir računa iznova pri svakom otvaranju, često ga je bolje izračunati jednom i sačuvati. Izveštaji tada samo čitaju gotov rezultat.
- Keširanje. Podaci koji se retko menjaju ne moraju da se računaju pri svakom kliku.
Izveštaj koji je trajao 40 sekundi najčešće se svede na ispod sekunde — bez menjanja hardvera.
Kada „jači server" ipak ima smisla
Ima slučajeva gde je sistem jednostavno prerastao svoju infrastrukturu. Ali to je zaključak posle merenja, ne pre. U praksi, devet od deset puta problem je u tome kako se podaci traže, a ne u tome koliko servera imate.
Ako imate izveštaj koji svi izbegavaju jer je spor — to je odličan prvi kandidat. Merenje je jeftino, a rezultat se oseti odmah.