We have an EJB application (for an extranet) with a Swing client that we're currently developping in house. We would like to test it in simulating high network response time for users that will have a slower connection.
Do you know a tool or a tip to slow down the network connection to a specific computer ? It would be great if it can be used also on the localhost, because the developers are also running an application server on the localhost for unit tests.
Hmm - no way I know of to make a connection/link run at a slower speed, at least with Ethernet. It's 10 or 100 or 1000 mbps. It's kind a kludge, but you could swamp the connection's *throughput*, say by initiating multiple large file copies/ftp downloads from/to a node close by (few hops away). Redhat ISO files come to mind (~650 MB). If your transactions are relatively small, this should roughly accomplish that. The more data transfer your transactions impose, the more the active tcp connections will tend toward the same throughput - though I doubt yours will be big enough to be an effect here.
Or, you could always do it with a modem.
Good question. I am curious as to your solution. Keep us posted.
Just a thought -
perhaps you could write a simple proxy server that listens on a socket and passes data from your client and straight through to your server and vice-versa- this should be relatively straightforward.
By adding Thread.sleep() calls in the write places you should be able effectively "change" the network speed.
Never tried it myself but I suppose it might work.
That's a good idea. Thanks.