Why is TCP socket slower then Rendezvous?

Sending 3MB (2MB send and 1MB reply) of data between two HP-UX workstations using TCP sockets takes about 70 seconds.
While sending the same amount of data between the same workstations using Rendezvous (a software message bus product) takes about 30 seconds.

1) Could anyone explain the performance difference? As far as I know, a Rendezvous client first sends the message through TCP socket to the Rendezvous daemon on the same host, and this daemon broadcasts this message through UDP socket to the daemon on the other host, and that daemon finally sends this message to the server on its same host. The reply message goes through the reverse route.

2) Is UDP socket more than twice faster than TCP socket? otherwise how could it easily offset the extra two hops the
message has to travel?
3) Is there anyway to tune the TCP sockets performance? 4) Could Rendezvous use some special technique to optimize socket performance?

Thanks a lot for your help in answering these questions.

Tom Chi
Who is Participating?
lockhartConnect With a Mentor Commented:
UDP is much less secure than TCP since it is connectionless and has no reliability safeguards. TCP provides checksums, ACK/
NACK handshaking, timeout/re-transmit, duplicate detection, sequencing and flow control while UDP only supplies message boundaries and an optional checksum. Therefore, UDP is unreliable unless the application provides some internal checking. There is somce overhead associated with using TCP and its built-in safeguards. It sounds like Rendezvous takes advantage of TCP to start the transfer (probably tells the other side how many packets are coming and how big they are) then switches to the faster (and more dangerous) UDP for the actual transfer. It's not a bad approach since they could build sequencing info into the packet and be assured they got all packets just by counting then use the optional checksum to verify packet integrity.

1. check kernel network buffer sizes, and possibly increase them (HP-UX Performance & Tuning Guide)

2. is the interface full-duplex, or half-duplex ?
 If it's half-duplex, may it be set to a full-duples mode ?
This may be your question too.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.