My application connects to a database over JDBC, and performs a lot of sequential inserts. There is only 1 JDBC connection opened by the application. As the performance is not as expected, I started to check the socket status using ss -to4
and filtering for my database IP.
What I notice is, every few seconds, I see some data in the ss
output
ESTAB 0 <some non zero value> <source ip>:<port> <db ip>:<db port> timer:(on,192ms,0)
The timer starts with initial value of 204ms and reduces down to 0. And there are no retransmissions (retrans is 0 max). When I do a packet capture and check on Wireshark, there are no TCP retransmissions or fast retransmissions.
If the connection is stable, and if there are no retransmissions, why does the timer start?