cbrpilot:stevenz:cbrpilot: What programme and/or protocol are you using when measuring those speeds?
Just watching the total traffic going through eth0 over TCP.
So a single TCP connection or multiple? How many?
It is possible for high latency links to be effected by a phenomenon known as Bandwidth Delay Product.
My first thought was if not normal congestion limiting TCP (quite possible), then BDP may be the limitation (not sufficient window size for the delay) but the comment about same speed from the UK or Australia has me confused. I believe it is unusual to get almost identical speeds from both - 20 Mbps from the UK is quite good but from Australia more like average.
The widespread use of CDNs is making it more difficult to assess performance. I have seen sites with .uk URLs that are being delivered out of a CDN in Sydney and as has been said here Apple (and many more) use Akamai CDN that is NZ based.
I recommend, if using Linux, capturing a session and using tcptrace which will give visibility of window sizes, re-transmissions and round trip times. Calculators like SG Bandwidth*Delay Product Calculator suggest 20 Mbps with standard 64 kB window is around 26 ms which is quite close to the delay to Sydney, although this seems a bit tight if adding local access delays.
If you want to do more geeky stuff, testing adding extra delay is very simple with Linux (here) and then going to an NZ site compare with and without extra delay simulating an overseas connection. If the speed drops a lot then either client or server end may not have full window scaling available. Note that any loss will slow down ramp up more with the higher delay.
There are speed test tools like http://www.nzbt.org.nz/ that can give more insight but need Java and there are some reports on inaccurate parameter reporting (like here) so maybe not a first choice. EDIT: the NDT tool running on newer OS is not letting me see the web100 details it used to so probably not worth trying
Each of the points posted by others above may also be the reason for the lower speed but it pays to check window size limits and actual delay to source.