Subject | SuperServer Caching |
---|---|
Author | Leos Urban |
Post date | 2001-09-15T15:08:46Z |
Hello,
I have Linux server with FB SuperServer 1.0.0B2 installed.
I created new database and loaded three tables: companies (4k rows),
inv(50k) and inv_rows(100k).
I set buffers to DB to 8192 (with gfix but I have also set
database_cache_pages ).
I run query:
select sum(price) from inv_rows, inv_heads, companies
where
inv_rows.invcode=inv_heads.invcode and
inv_heads.compid=companies.compid and
companies.compname like 'A%'
This query runs 17 seconds. It is OK.
FB processes have now allocated 32MB (4096 pagesize * 8192 cache) - it is
also OK.
But when I run the _SAME_ query again (in the same connection) I got the
same result - 17 seconds.
System does not swap - has free physical memory, no other work - only this
one connection.
Clients are ISQL (directly from Linux) and IBObjects - same result.
Then I tested it with Informix IDS.
Query runs first time 20s but next time is answer in 1 second.
It looked as if FB does not use cache data. What to set?
Thanks
Leos
Database:
dialect 3, buffers 8192, async write
My isc_config:
connection_timeout 180
database_cache_pages 8192
deadlock_timeout 10
dummy_packet_interval 60
lock_acquire_spins 0
lock_has_slots 101
server_client_mapping 4096
server_priority_class 1 # NT only
server_working_size_max 0 # NT only
server_working_size_min 0 # NT only
tmp_directory /tmp
v4_event_memsize 32768
v4_lock_grant_order 1
v4_lock_mem_size 98304
v4_lock_sem_count 0 # Classic only
v4_lock_signal 16 # Classic only
v4_solaris_stall_value 60 # SOLARIS only
I have Linux server with FB SuperServer 1.0.0B2 installed.
I created new database and loaded three tables: companies (4k rows),
inv(50k) and inv_rows(100k).
I set buffers to DB to 8192 (with gfix but I have also set
database_cache_pages ).
I run query:
select sum(price) from inv_rows, inv_heads, companies
where
inv_rows.invcode=inv_heads.invcode and
inv_heads.compid=companies.compid and
companies.compname like 'A%'
This query runs 17 seconds. It is OK.
FB processes have now allocated 32MB (4096 pagesize * 8192 cache) - it is
also OK.
But when I run the _SAME_ query again (in the same connection) I got the
same result - 17 seconds.
System does not swap - has free physical memory, no other work - only this
one connection.
Clients are ISQL (directly from Linux) and IBObjects - same result.
Then I tested it with Informix IDS.
Query runs first time 20s but next time is answer in 1 second.
It looked as if FB does not use cache data. What to set?
Thanks
Leos
Database:
dialect 3, buffers 8192, async write
My isc_config:
connection_timeout 180
database_cache_pages 8192
deadlock_timeout 10
dummy_packet_interval 60
lock_acquire_spins 0
lock_has_slots 101
server_client_mapping 4096
server_priority_class 1 # NT only
server_working_size_max 0 # NT only
server_working_size_min 0 # NT only
tmp_directory /tmp
v4_event_memsize 32768
v4_lock_grant_order 1
v4_lock_mem_size 98304
v4_lock_sem_count 0 # Classic only
v4_lock_signal 16 # Classic only
v4_solaris_stall_value 60 # SOLARIS only