| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Radoslaw Stachowiak <radek(at)alter(dot)pl> |
| Cc: | pgsql-admin(at)postgresql(dot)org |
| Subject: | Re: strange inefficiency in shared memory handling |
| Date: | 2002-05-30 22:04:58 |
| Message-ID: | 8084.1022796298@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
Radoslaw Stachowiak <radek(at)alter(dot)pl> writes:
> of course this memory removal of cached index blocks is caused by normal
> queries and their memory (buffer) requirements, but certainly algorithm
> which chose which buffer to remove is a very ineffective on index blocks.
> looks to me that it preffer table-block too much (especially compared
> to index ones)
The buffer management code has absolutely no clue which blocks belong
to indexes and which to tables --- it handles all of them on a uniform
LRU basis.
> with buffers <1000 idx_blks_hit was always smaller than idx_blks_read,
> even by 10 times;
> statio_user_tables showed that hits were larger than reads by
> _great_ amount (factor of 2 and more) - so it shows that shared_buffers
> are used very well on tables but not on indexes :-(
This seems odd, but I wonder whether it is an artifact of some unusual
property of your query workload. You haven't offered enough detail to
let someone else try to reproduce it...
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Radoslaw Stachowiak | 2002-05-30 22:27:28 | Re: strange inefficiency in shared memory handling |
| Previous Message | Radoslaw Stachowiak | 2002-05-30 20:51:01 | strange inefficiency in shared memory handling |