[pgpool-general: 946] Query Memory Cache goes OOM
    Sebastian Kornehl 
    webmaster at sourcebase.org
       
    Tue Sep  4 20:57:56 JST 2012
    
    
  
Hi all,
I'm testing the new query cache (pgpool-II version 3.2.0) on CentOS 5.
System Specs:
4 cores
4 GB Ram
shmmax= 2147483648 (=2 GB)
When I start pgpool, my memory usage looks like this:
Mem:   4194304k total,   660016k used,  3534288k free,    62116k buffers
My test scenario is the following:
# Config:
memory_cache_enabled = on
memqcache_method = 'shmem'
memqcache_total_size =  262144000 #250MB
memqcache_max_num_cache = 10
memqcache_expire = 15
memqcache_auto_cache_invalidation = off
memqcache_maxcache = 409600 #400kb
memqcache_cache_block_size = 1048576 #1MB
memqcache_oiddir = '/var/log/pgpool/oiddir'
Table: data
id integer pkey
value character varying(255)
[some more columns]
SELECT value FROM data WHERE id =${randomNumber};
so when I start the first
while true; do psql -c "foobar ..." ; sleep 1; done
everything looks good. When I start 9 more loops (= 10 selects per 
second), the used memory increases fast. After ~2 minutes it looks like 
this:
Mem:   4194304k total,  2439012k used,  1755292k free,    62588k buffers
after 2 more minutes:
Mem:   4194304k total,  4053796k used,   140508k free,    62752k buffers
When I add more clients, the machine begins to swap and dies.
show pool_cache gives:
  num_cache_hits | num_selects | cache_hit_ratio | num_hash_entries | 
used_hash_entries | num_cache_entries | used_cache_enrties_size | 
free_cache_entries_size | fragment_cache_entries_size
----------------+-------------+-----------------+------------------+-------------------+-------------------+-------------------------+----------------------
---+-----------------------------
  0              | 1527        | 0.00            | 16               | 
15                | 15                | 1746                    | 
262142254       | 0
(1 row)
So my question:
What I'm doing wrong? The plan is to connect more Frontends with 300+ 
statements per second.
When I turn memory_cache_enabled off the problem does not occur.
Thanks in advance!
Sebastian
    
    
More information about the pgpool-general
mailing list