From: Kirk Haines Date: 2004-02-03T05:24:16+09:00 Subject: Re: Borges/Iowa resource usage On Tue, 3 Feb 2004, Chris Morris wrote: > How does Iowa store each continuation stack (which is my own, uneducated > term -- same thing as the resident set size?) ? From my unscientific > checking of Borges, it seemed each continuation got its own place in > memory, so virtually every page visit triggered another usage chunk, and > it seemed to grow very quickly with just one user. If Eric's reading > this (Borges author), maybe he can chime in with some more specifics. Iowa uses an LRU cache. Each page visited does trigger another usage chunk. However, some smart cache management helps. How deep of a page cache do you really need? How deep of a session cache do you need? The application that generates the LARGE reports also drives a really basic two page application for people to request prospectus information and it drives some basic dynamic pages that display data from a database. I have it confugured to keep 100 sessions in cache. For most uses, that is overkill, and is another one of the reasons for the 50 meg RSS. It's useful right after an ad runs when things get really busy, but that is about it. I've been working some on caching behavior. Right now it's basically static -- set when the application deamon is started. However, I've been working on some tools to view the current active cache utilization, including how long things are living in the cache before rolling out and things of that nature to enable, initially, the ability to tweak the cache settings behind the scenes. Eventually I'd like to at least experiment with a cache that, within the guidance of some set of parameters, can self adjust its cache size in order to dynamically respond to changing load situations. Kirk Haines