Re: LRU writes
Posted in 1996
brian@asl-labs.bc.ca (Brian Hampson) writes: > > We have never had anything BUT chunk writes, and are trying to make > better use of our BUFFERS. Should we be trying to increase the number of > queues, maintaining the number of buffers, until we just start seeing LRU > writes? > Typically, this means all of your writes are happening during checkpoints. This may be good or it may be bad, depending on your situation. If you have lots of interactive users, they may be noticing periods of "total lock-up" if your check points are large. To remedy this, you want the page cleaners to do more of the work between check-points. The down-side to this is overall lower performance, but it will be more "even", thus avoiding "lock-ups" during long checkpoints. There are several parameters you can tune to acheive this "leveling". First, you can decrease the time between check-points. This is probably the least desirable method. You can also decrease the number of buffers (fewer buffers will mean fewer possible dirty pages to take care of at a check point), but this may have other negative effects. Finally, you can lower the "dirty" percentage threshholds which control when page cleaning kicks in. This last method is probably the best in most situations. LRU_MAX_DIRTY sets the percentage of buffers that must be dirty for page cleaning to begin. LRU_MIN_DIRTY sets the percentage of buffers that will be dirty when page cleaning can stop. If you have a lot of buffers, these percentages should be REALLY LOW in order to avoid big check points. For example, if you have 30,000 buffers, even 10 perecent is 3,000 buffers! If LRU_MAX_DIRTY is 10, you could end up with having to write 3,000 pages at a checkpoint! I've seen situations where settings of 2 - 4% yeilded very nice results -- at least as far as interactive users are concerned. It's too bad you can't adjust these parameters "on the fly". It would be nice, for example to have LRU_MIN/MAX_DIRTY very low during the day (hours of heavy interactive use) and raise them during over-night batch processing so that most (if not all) write happen as chunk writes during check-points (these are thew most efficient). HTH. Irwin Goldstein Objective Software Systems