Subject 28MB Dummy packet? Could that be possible?
Author Alvaro da Mata
I've performed a couple of tests to see how does IB work with the parameters
CONNECTION_TIMEOUT and DUMMY_PACKET_INTERVAL, since we are experiencing some
performance problems.

The scenario is as follows:

Server PC:
HardWare: Pentium 4 1.8Gz, 512Mb RAM, HD 40Gb.
SoftWare: Windows 2000 Server, Interbase Sever 6 or 7 (we tested both),
Ethereal (application for protocol analysis)

Client PC:
Hardware: Pentium II 400Mhz, 64Mb RAM, HD40Gb.
Software: Windows 98 Second Edition, Interbase Client 6 or 7, Marathon 1.6
(for querying the database)


Tests performed with InterBase 6:

Test 1:
1- Query from the client on a tabel on the database
2- Wait for 6 seconds.
3- See the packets received on the analyzer.

Result: After 180 seconds (default value for the CONNECTION_TIMEOUT
parameter), the server sends a packet to the client, and the client answers
with another packet of 800Kb. After this, every 60 seconds (value of the
DUMMY_PACKET_INTERVAL parameter) the same procedure is done.

Test 2:
1- I changed the configuration in the ibconfig file (C:\program
files\Borland\InterBase\). Setting the parameters CONNECTION_TIMEOUT=240 and
DUMMY_PACKET_INTERVAL=120.
2- Restart the server.
3- Query the server from the client machine.
4- Wait for 6 minutes.
5- Analyze the packets.

Result: The same as the previous case.

Test 3:
Repeating Test 2 but with a bigger query.

Result: The packets used between the client and the server to indicate theat
the client is still active are even bigger then the ines used in the
previous cases (this time they have 28Mb!!)

Tests done with InterBase 7:
The same tests were done with IB7. The only difference is that the
response times are faster, but you can't modify them through the
configuration file.

This makes me think about the following questions:
- How should I configure the parameters so that IB takes them?
- How can I see simpler what does a parameter from ibconfig take?
- Why does the packet used to check the active conection of a client vary in
size and in some cases grow up to 28MB?
- Is it possible that my application could be experiencing performance
problems due to this traffic, and make it grow up to consuming 100% of
processor?

Thanks a lot!