Dal codice al cavo

Home /Appunti

Perché il vostro gestionale è lento e non è colpa del codice

Nove volte su dieci il collo di bottiglia sta fra il database e il disco, non nelle query. Come si misura prima di riscrivere qualcosa.

Quando un gestionale rallenta, la prima reazione è quasi sempre la stessa: «il software è scritto male». A volte è vero. Molto più spesso il codice fa esattamente quello che deve, e il tempo si perde più in basso.

Dove guardare, nell’ordine

Prima di toccare una riga, si misura. Il tempo di risposta di una schermata si scompone: quanto ci mette l’applicativo a preparare la richiesta, quanto il database a rispondere, quanto il disco a servire i dati, quanto la rete a portarli. Nella maggior parte dei casi che abbiamo visto, il picco sta fra il database e lo storage.

Le cause ricorrenti sono poche e noiose: indici mancanti su tabelle cresciute negli anni, dischi meccanici sotto un database che ne ha bisogno di veloci, memoria insufficiente perché la macchina è stata dimensionata quando i dati erano un decimo.

Cosa non fare

Riscrivere l’applicativo prima di aver misurato è il modo più caro di scoprire che il problema era altrove. Abbiamo visto progetti di rifacimento completo chiudersi con le stesse prestazioni di partenza, perché nessuno aveva guardato sotto.

Lascia un commento

Cominciamo dal vedere com'è fatto adesso.

Il sopralluogo dura mezza giornata ed è gratuito. Alla fine avete per iscritto cosa funziona, cosa no e in che ordine intervenire — anche se poi decidete di non lavorare con noi.

Cosa si inceppa, da quanto, e cosa avete già provato.