Subject Re: [ib-support] SuperServer Caching
Author Leos Urban
Hello,

I send new statistics for 100, 2000, 4000, 8000 and 10000 buffers.
System Linux, 192MB RAM, FB 1.0 Beta
I tested also 256MB RAM with the same values, only value of free system RAM
was increased.

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%'

Comments:
1. value (first query of first connection after reboot)
... read to filesystem cache and FB buffers
2. value (second query of first connection after reboot)
... read from FB buffers if possible
3. value (first query of second connection)
... read to FB buffers
4. value (second query of second connection)
... read from FB buffers if possible

if only one value then all values are the same

BUFFERS=100
Current memory = 797696
Delta memory = 245760, 0, 245760, 0
Max memory = 874584
Elapsed time= 33.29, 17.51, 17.76, 17.80 sec
Cpu = 0.00 sec
Buffers = 100
Reads = 20998, 20916, 20998, 20916
Writes = 0
Fetches = 1100224, 1099269, 1100224, 1099269

BUFFERS=2000
Current memory = 8981504
Delta memory = 245760, 0, 245760, 0
Max memory = 9058392
Elapsed time= 31.94, 16.70, 16.92, 16.98 sec
Cpu = 0.00 sec
Buffers = 2000
Reads = 7716, 7518, 7716, 7518
Writes = 0
Fetches = 1100224, 1099269, 1100224, 1099269

BUFFERS = 4000
Current memory = 17606656
Delta memory = 245760, 0, 245760, 0
Max memory = 17683544
Elapsed time= 31.89, 16.78, 17.11, 17.05 sec
Cpu = 0.00 sec
Buffers = 4000
Reads = 7532, 6709, 7532, 6709
Writes = 0
Fetches = 1100224, 1099269, 1100224, 1099269

BUFFERS = 6000
Current memory = 26232832
Delta memory = 245760, 0, 245760, 0
Max memory = 26309720
Elapsed time= 31.73, 16.46, 16.87, 16.83 sec
Cpu = 0.00 sec
Buffers = 6000
Reads = 7054, 6189, 7054, 6189
Writes = 0
Fetches = 1100224, 1099269, 1100224, 1099269

BUFFERS = 8000
Current memory = 34841600
Delta memory = 245760, 0, 245760, 0
Max memory = 34918488
Elapsed time= 32.25, 16.28, 17.10, 16.69 sec
Cpu = 0.00 sec
Buffers = 8000
Reads = 7053, 0, 7053, 0
Writes = 0
Fetches = 1100224, 1099269, 1100224, 1099269

BUFFERS = 10000
Current memory = 43467776
Delta memory = 245760, 0, 245760, 0
Max memory = 43544664
Elapsed time= 32.83, 16.41, 17.40, 17.02 sec
Cpu = 0.00 sec
Buffers = 10000
Reads = 7053, 0, 7053, 0
Writes = 0
Fetches = 1100224, 1099269, 1100224, 1099269

I send my isc_config again:
connection_timeout 180
database_cache_pages 256
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


My conclusion:
Linux filesystem cache loads whole DB. After first connection the system
runs at the same speed. Adding more buffers to FB does not increase
performance. The same query on FB (from RAM) is slower then on Informix
(from RAM), this can be solved by better processor.

Thanks,
Leos