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.
Friday 19 September 2008
Come al solito, mi trovo a fare un aggiornamento consistente del sito mezz’ora prima di andare a dormire. È quasi una tradizione, ormai: mezz’ora prima di pranzo o mezz’ora prima del letto, queste sono le regole. Poi ovviamente l’aggiornamento va storto, vuoi per la differente configurazione del server – l’uso della direttiva DirectorySlash
non è consentito a livello di .htaccess
– vuoi per cose tanto stupide quanto subdole – gli script PHP devono essere eseguibili per funzionare, altra differenza di configurazione tra il mio server di sviluppo e quello di Aruba – e il risultato è una notte intera di downtime. Non che a qualcuno importi. Ma il debug di problemi di questo tipo non è esattamente ciò che mi piace fare appena sveglio.
Friday 12 September 2008
Prendi una noiosa formalità che devi per forza sbrigare. Aggiungi la compagnia giusta, e ottieni una giornata meravigliosa. Peccato non poterlo fare sempre.