I am trying to work out why a PowerBuilder application that generates 30
writes to SQL*Net and 30 reads from SQL*Net (as logged in SQL*net trace
file) with an average write or read size of 120 bytes takes 12 seconds
longer to complete using a 19,200 bps PPP link than it takes on a 10Mbps
ethernet link.
The only way I can explain 12 seconds is to use the following assumptions:
a) Every SQL*Net write or read is encapsulated in a TCP packet, adding
20 byte TCP header
b) This is further encapsulated in an IP packet, adding another 20 byte
header.
c) This is further encapsulated in a PPP frame. I gather this is like HDLC,
so this will add another 5 to 7 bytes.
d) Every PPP frame is acknowledged at the HDLC-like level with an RR (5-7
bytes).
e) Every TCP packet is ACKed at the TCP level.
f) Every SQL*Net "write" by the client is acknowledged by the
server's SQL*Net separately from the following "read" that is
logged in the SQL*Net trace file (and likewise the client sends an
SQL*Net acknowledgement for every "read" it completes.