Thanks for the great explanation for the bandwidth graph.
So If I have a 364 KB file which is being downloaded on a DSL connection (1.5 Mbps), in a perfect world I would have a maximum throughput of 0.1875 MBps and it would download in ~1.8958333 seconds.
364 KB * 1 MB / 1024 KB = 0.35546875 MB File Size
1 MBps (megabyte per second) = 8 Mbps (megabits per second)
0.1875 MBps = 1.5 Mbps
0.35546875 MB File Size / 0.1875 MBps Maximum ThroughPut = 1.8958333 seconds download time
It looks like the reason this bandwidth was bad is because of the earthmail.jpg file took so long to download before the document complete events began, which brings me to my next question:
Is it possible to trigger the document complete event before images are done downloading?
In addition, you said one reason bad bandwidth occurs is because of latency sometimes caused by long times to first byte.
I started discussing this here a bit:
Times to first bytes on coldfusion pages for example can be caused by many backend database queries, but what causes long time to first bytes with images?