Un ambiente nuovo per ogni richiesta?

Monday, 02 July 07
Alle prime esperienze con la creazione di applicazioni in Ruby, cercando informazioni sulle problematiche generate dal fatto che mod_ruby usa lo stesso interprete per ogni processo Apache tra diverse richieste mi sono imbattuto in questo articolo.

L'idea dell'autore e' che non avere un ambiente fresco ad ogni richiesta e' un limite serio alla affidabilita' della applicazione se assumiamo come costante il tempo di debugging impiegato durante lo sviluppo.

Io sono d'accordo e credo davvero che Ruby dovrebbe seguire il modello di PHP, che riesce ad avere performance decenti anche senza condividere gli interpreti tra diverse sessioni.

Con la condivisione tutto cio' che sta nelle variabili globali (o nelle variabili di classe) e' un potenziale leak, cosi' come ogni file aperto, e bisogna ogni volta chiedersi se al momento della finalizzazione qualcuno liberera' le nostre risorse come speriamo anche quando non ci sono leak che coinvolgono variabili globali o di classe.

Un ambiente nuovo per ogni richiesta? Io penso che sia la giusta strada.

Quando serve condividere lo stato, per finalita' di caching o altro, tra diverse sessioni, ci sono soluzioni sane come memcached e molte altre.
3266 views*
Posted at 14:56:28 | permalink | 1 comment | print