On Sat, 9 Feb 2008 12:47:05 +0700, Miika Makinen <[EMAIL PROTECTED]> wrote:
> I had this idea that to really be scalable, we should have *everything* > in RAM (which is cheap) and use a DB just for permanent storage >[...] > How does this kind of idea sound? To be honest, it sounds like a classic case of premature optimization. Don't do it! Determine where your bottlenecks are before you change anything. Find out what your application servers are doing when they're under high load. Many applications have been put to death by premature optimization. You don't mention any "scalability" measure you've already undertaken, which I certainly hope doesn't mean you've undertaken none. MSDN has tons of articles on ASP.NET caching, which can make a tremendous difference. Like Frans says, cache everything that was costly to produce. Incidentally, this means that with enough RAM, in theory, your strategy will already be implemented. On the WWW, the caching strategy that outranks all others is to cache data at the client. Most MSDN articles won't mention this as it doesn't pertain to ASP specifically, but to HTTP. I haven't read the Slashdot articles, but a popular way to make your web application is to break out everything into cachable and non-cachable parts, and then make sure all cachable parts are cached at the client. For example, many popular web sites have a "static.website.com" subdomain, which is a giveaway; this subdomain will serve all its content with instructions to the client to cache this data for a long time. I don't know if this is relevant in your case, but it can certainly help offload IIS. =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com