I have 2 processes communicating over TCP/IP as following: process A sends 20 KB of data to process B and after some calculations process B sends the response (2KB) back to A.
When I run both processes in the same computer 100 times in a loop (EDITED: every time I wait for the response from the previous iteration before sending a new task), the total execution time is 15 seconds. When I run them on different machines connected with 1 Gbps network, the total execution time increases to 30 secs. So I assume that 15 secs are required for the communication over network.
I would like to know if this is a reasonable communication time (15 secs / 100 times = 0.15 sec to send task and get response) for the specified network throughput and the amount of data to send. If it can be faster (what I tend to think), where should I look at (firewall, routing, etc.)?
OS used is Windows 7 Ultimate, if it is relevant.