Blog

Thursday 25 September 2008

read/add comments (2)

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

read/add comments (2)

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

read/add comments (1)

Prendi una noiosa formalità che devi per forza sbrigare. Aggiungi la compagnia giusta, e ottieni una giornata meravigliosa. Peccato non poterlo fare sempre.