A simple test you could run on your server is fetching directory info from nodes that have directory functionality enabled.
Thanks for the idea. blutmagie offers a CSV list of its current result set, so this ended up being quite easy to automate.
I fetched a copy of the CSV to the server:
wget https://torstatus.blutmagie.de/query_export.php/Tor_query_EXPORT.csv
Then I picked out the columns I cared about, included only Exits with a Dirport, then sorted by the bandwidth column, and grabbed the fastest 50:
awk -F , '{if ($10 == "1" && $8 != "None") print $3, $5, $8}' Tor_query_EXPORT.csv | sort -nr | head -50 > top-50-exits-with-dirport.txt
That file now looks like:
34994 37.130.227.133 80 33134 176.126.252.11 443 30736 176.126.252.12 21 30720 77.247.181.164 80 26958 77.247.181.166 80 <snip>
So we now have the bandwidth, IP, and dirport of the fastest exits. With this list in hand, I just needed to form a proper URL, wget each one, and grep out the transfer speed:
for URL in $(awk '{print "http://" $2 ":" $3 "/tor/server/all"}' top-50-exits-with-dirport.txt); do printf "$URL " && wget $URL -O /dev/null 2>&1 | grep -o "[0-9.]+ [KM]*B/s"; done
The output ends up looking like this (only displaying the first 10 for brevity):
http://37.130.227.133:80/tor/server/all 1.17 MB/s http://176.126.252.11:443/tor/server/all 4.54 MB/s http://176.126.252.12:21/tor/server/all 666 KB/s http://77.247.181.164:80/tor/server/all 111 KB/s http://77.247.181.166:80/tor/server/all 330 KB/s http://195.154.56.44:80/tor/server/all 3.65 MB/s http://77.109.141.138:80/tor/server/all 2.20 MB/s http://96.44.189.100:80/tor/server/all 13.4 MB/s http://197.231.221.211:1080/tor/server/all 347 KB/s http://89.234.157.254:80/tor/server/all 295 KB/s
I'm not seeing anything immediately, although I need to run it on a larger set. There's no smoking gun so far though. Some of the speeds are a bit slow, but nothing low enough to explain the extremely low measured bandwidth these relays are getting. I think I'll clean this up a bit, put it into an actual script, and try running it on another server on a different AS for comparison.