Re: Session and Multi Server Architecture

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 12 February 2008 16:06:04 Stut wrote:
> Sancar Saran wrote:
> > Hello
> >
> > On Tuesday 12 February 2008 13:39:19 Stut wrote:
> >> I'll be using memcache as a simple cache. I hate sessions and avoid them
> >> for anything but the most trivial sites. The main sites I work with no
> >> longer use sessions because they add a pointless layer of complexity to
> >> any application that need to scale beyond a single machine. Maybe I'm
> >> just lucky that the applications I develop don't need to store huge
> >> amounts of temporary data during a visit, but I'm yet to come across a
> >> reason to use "session data".
> >>
> >> -Stut
> >
> > May I ask how can you record the state ?
>
> You may.
>
> Oh, you probably want an actual answer... ok.
>
> The only 'state' I really need to keep track of is a few details about
> the logged in user (ID, username, etc). These get encrypted and get
> passed around as a single value in the same way PHP manages the session
> ID (cookie or embedded in the URL).
>
> The encrypted value is time limited and gets updated on each request.
>
> Clearly there is a limit to how much info can be stored like this but
> after some analysis of how the site worked I reached the conclusion that
> most of the crap that was being put into the session was not required
> from request to request and could be retrieved from the DB when it was
> needed.
>
> This has been running on a site with > 1 million unique users a month
> for over 6 months with no issues. I now use this system with most sites
> I get involved in and am yet to find a valid reason to replace it with a
> traditional session.
>
> Part of the reason this works is that in the few parts of the site where
> it would make sense to use a traditional session to temporarily store
> data it does it in a table in the database. This is essentially a
> SQL-based session but with one important difference... DB hits are
> limited when they are needed only - i.e. when the user is using those
> parts of the site. With a SQL-based session you cause 2+ DB hits for
> each request even if you don't actually use the session. This is bad m'kay!
>
> Over the past few years I've learnt a lot about scalability and the
> single biggest tip I can pass on is to only do what is absolutely
> necessary at any given time. Sessions are the biggest barrier to being
> able to do that, so they had to go.
>
> Hope that answers your question.
>
> -Stut

Yes

Thanks much :)

Sancar

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux