I just noticed something curious. While I was in the middle of checking out my codebase from home, I VPN'd in to the office right quick and my SVN checkout speed doubled! Once I was done I closed the connection and my checkout speed dropped back down to where it had been.
What gives!? I was under the impression that VPN is way slower than HTTP is, and if I were to look at a website on my home PC while VPN'd in then the page takes way longer than not being connected to the work network. I dunno, this just seems strange to me, if anyone has any insight as to why this happened, I would appreciate it.
To your first question: my bet would be that your ISP might be doing some sort of throttling of HTTP connections. When you're VPNed into work, that traffic gets encrypted and thus, is no longer subject to the ISP's throttling.
Regarding websites taking longer to load while VPNed in. This is a completely different use case, and the slowness is not caused by the VPN itself. It sounds like your workplace has the VPN set up to route all traffic over the VPN tunnel while connected. This means that when you request a website, the request gets routed over the VPN, then out through whatever internet link your work has to the remote webserver. Then the reply has to take the same path back, through your work's network and then back through the VPN tunnel. It is these additional routing hops that cause the slowdown. With your SVN checkout, the data is going direct from your workstation to your work network whether it's direct over the internet or through the VPN.
Despite being an old question I stumbled here and I can see a lot of speculation here. The other answers are likely correct to some extent, but I believe it misses the crucial factor for the situation experienced by the asker.
VPN uses compression.
I'm using LZO-compression and that will improve my speeds up to 4x compared to the connection width. This is particularly noticeable using speed tests or when downloading/uploading easily compressible data such as csv-files. In my case this applies to openvpn Home-Office connections as well as to the service I'm using Private Internet Access.
Note that not all VPN-connections have compression enabled, however they all (should) have encryption enabled. Adding or turning on compression will have marginal impact on cpu-cycles and latency and possible improvement with throughput and large packet latency.
Requirements for the event to happen
There's two common reasons for this, and they both involve the configuration at your work:
Their VPN and their HTTP are running on totally different connections. You work might have a dedidcated SDSL line for VPN traffic, and a slower ADSL line for HTTP
VPN traffic has a much higher priority on your gateway than HTTP traffic. Here we have a lot of rules regarding which protocols get higher priority. Inbound HTTP is one of the lowest, as we only host internal, throw-away solutions. VPN traffic is 2nd highest (after VoIP being the highest). We also throttle HTTP connections to 2Mbps/total, VPNs are throttled to 5Mbps/each
Either way, it's not because the VPN is inherantly faster, it's because the config has made HTTP slower.