Globalization has made it impossible to ignore how your web application performs for an international audience. Tools like YSlow and PageSpeed will tell you why your pages are slow, but you don’t truly know the pain of your end user abroad until you’ve used the application first hand over a high latency low bandwidth network.
One easy way to try this sans the layovers and jet lag is to place a proxy server between your browser and web server that simulates stressed network conditions. DonsProxy is a great tool that does this and much more.
Download the GUI from the SourceForge page or checkout an example running from an ant build via my Reference Project Page at Google Code.
Here’s an excerpt from the ant build to start the proxy:
<target name="start-proxy" depends="build" description="Starts the proxy server that simulates a slow connection, then stop after 2 minutes"> <java fork="false" classname="com.moneybender.proxy.Proxy" failonerror="true" classpathref="master-classpath" maxmemory="1024m"> <jvmarg line="-Dlisten.port=9090" /> <jvmarg line="-Dtarget.host=localhost" /> <jvmarg line="-Dtarget.port=8080" /> <jvmarg line="-Dlatency.millis=300" /> <jvmarg line="-Dpacket.loss.rate=100" /> <jvmarg line="-Dbandwidth.throttle=40" /> </java> </target>