Blog
Thursday 25 September 2008
Mi sono finalmente deciso a fare un benchmark dettagliato per trovare la causa
della lentezza del blog. La mia prima ipotesi era che la causa fosse l’elevato
numero di chiamate alle funzioni
preg_match()
e
preg_replace()
necessarie per gestire gli
URL riscritti. In
realtà il collo di bottiglia si è rivelato essere l’elencazione
(non la lettura) dei file nei quali vengono salvati post e commenti: questa
operazione richiede circa un secondo nel mio server locale, e una
quantità compresa tra i dieci ed i venti secondi sul server che ospita
il sito. Le soluzioni possibili sono cambiare hosting, nella speranza che
l’operazione richieda meno tempo nel nuovo server, oppure riscrivere le
routine di Poster in modo che utilizzino un
indice piuttosto che elencare ogni volta i file. Implementare la seconda
soluzione potrebbe richiedere un buon numero di cambiamenti al codice di
Poster, e in tutta sincerità, non si tratta del codice meglio
strutturato – e quindi più facile da modificare – che abbia
mai scritto. È cresciuto in maniera organica nel corso degli anni, di
pari passo con la mia conoscenza del
PHP, e pur avendo subito
delle riscritture sostanziali, nessuna di queste ha mai modificato realmente
la struttura di base. Potrebbe essere questa la spinta che mi porterà
finalmente a cominciare l’implementazione della versione 2.0 di Poster, da
lungo tempo pianificata ma mai realizzata nel concreto? Può darsi. Nel
frattempo, portate pazienza, e sappiate comunque che la colpa è solo in
piccola parte mia.
Comments
Te lo avevo detto.
E io non l’ho mai negato.