2011-03-14 2 views
5

Quanto è grande la commutazione delle prestazioni passando da cookieStore a ActiveRecord SessionStore?prestazioni di ActiveRecord SessionStore

Per impostazione predefinita Ruby on Rails utilizza CookieStore. Ma ha lo svantaggio che il client ha bisogno di avere i suoi cookie abilitati.

Passare a Active SessionStore sembra risolvere il problema. Sto considerando di cambiare.

Ho letto che le prestazioni sono peggiori utilizzando ActiveSecurity SessionStore. Ma cos'è peggio? Un utente lo noterà o è questione di millisecondi? Qualcuno ha visto risultati di benchmark confrontando le 2 opzioni?

Eventuali altri motivi (non) per passare a ActiveRecord SessionStore?

risposta

4

Ciò che è peggio è che è necessario interrogare un database, che quindi deve calcolare la risposta, piuttosto che andare direttamente al cookie sul lato client.

Tuttavia è davvero così male? Hai ragione nel senso che la differenza di prestazioni è molto minuscola nella maggior parte dei casi.

Pro:

Affinity- Se l'applicazione web si espande sempre di più di un server, spostando le sessioni in un database può permettere di eseguire i server senza server affinity.

Sicurezza - Poiché si memorizza solo l'ID sessione sul lato client, ciò riduce le possibilità che l'utente manipoli i dati tramite il lato client.

Contro

Prestazioni - Invece di interrogare il database, si può solo leggere i dati della sessione/cookie dal lato client.

+0

Ottimo, ci provo. –

4

Ma il negozio di sessioni AR dipende anche dai cookie - salva l'ID di sessione lì.

Per quanto ne so, non c'è modo di far funzionare le sessioni di Rails con i cookie disabilitati.

+0

sì, hai ragione, la domanda non era pertinente, in quanto stavo davvero cercando una soluzione per abilitare le sessioni senza cookie. Non è possibile. Ho aggiunto una notifica alla mia app per consentire i cookie quando vengono disattivati. Grazie! –