|
Thursday, November 11, 2004 |
memcached. A distributed memory object caching system.
Danga Interactive developed memcached to enhance the speed of
LiveJournal.com, a site which was already doing 20 million+ dynamic
page views per day for 1 million users with a bunch of webservers and
a bunch of database servers. memcached dropped the database load to
almost nothing, yielding faster page load times for users, better
resource utilization, and faster access to the databases on a memcache
miss.
12:45:48 PM
|
|
Dave Roberts has a great post on Web Applications, Rest and Continuations.
He writes about the REST principle in designing web based systems and
how that approach leverages the advantages of other web based
infrastructure like caches, etc. Continuation based system are often
less scalable as they have to store server side state and may not be
able to take advantage of this infrastructure.
The storage of server side state is definitely a performance hit. In
one system I've developed in Scheme I serialize the continuations to
disk. The result of this is each web request ends up serializing chunks
of data. This causes load on the server, increased memory usage and
other 'scalability unfriendly' issues. While the server does scale
well, it will not scale as well as a completely stateless REST based
application.
But not all applications need to scale to the level of Amazon or Ebay.
There are many web based applications that are be served on a corporate
intranet or internet for smaller user groups where the advantages of a
continuation based make it worth the reduced ability to scale. I'm sure
as experience with continuation based designs matures that some of
these problems will be solved and the servers become more scalable.
A recent thread on the PLT-Scheme mailing list has also been discussing these issues.
10:58:43 AM
|
|
© Copyright 2005 Chris Double.
|
|
|