"Maximum Segment Retransmissions" was kept at 8 times. when keepalive is set to 8 seconds, the times of retransmission seemed to be cut to 3 times (i think so, it is a bit hard to simulate packet drop in lab env ). As the app is web-based, it is not easy to tune the app to send another request. Apologize I did not make the situation more clear. Keepalive is chosen because packet loss could be bidirectional, i.e., data packets and some of its ack, I would like to have keepalive packets flowing to have acknowledge number showing up.
Under normal circumstance, RTT is 40ms, data to transfer is about 160KB. basically it is a packet loss burst, within one window several packets got dropped. Yes, retransmissions are timeout based. at first, i was thinking to use new Reno, but it seems the interval of retransmission still went up to 32 sec or 64sec. As the interval turns to so large, I did not notice/calculate smoothed RTT.
I will learn more about wom-tcp-wan-optimized. tcpdump part, I will try to replace ip and upload.