A more realistic test is to ask for successive slices of some data, and see if multithreading speeds things up. So I made a test that makes data requests like send:
Each request is 1 Mbyte. These are grib2 files, which may be jpeg2000 encoded (im not sure in this particular file).
So each thread makes 20 requests of successive slices, and I try this with 1-14 simultaneous threads. The plot below is the speedup factor. Its pretty impressively linear, up to about 9 threads, then things get slower but then recover again. Not sure if that's meaningful - I need to run this 100 times and average.