I have a fairly large VPS in Sweden on a small hosting provider. Usually my bandwidth to it is about 2mb/s which is very good. But today, something very strange has happened:
Bandwidth from my home computer to the VPS over HTTP is limited to about 4kb/s. This is measured using "wget http|//serverip/path".
Bandwidth from my home computer to the VPS over SCP is still at 2mb/s, measured using: "scp root@serverip:/file/loc .".
Bandwidth from US server A to the VPS is also adequate at about 500kb/s. Again, measured using "wget http|//serverip/path".
Bandwith from US server B to the VPS is also about 500kb/s.
I have tried to change web server from lighttpd to nginx and to change the port to something other than port 80 but the same symptoms remain. I'd be grateful if someone could come up with a theory that can explain these numbers.. They make no sense to me.
Someone could be throttling your HTTP traffic (at the application layer) between your home and server. I'd be curious if any other protocols (besides SSH) have fast transfers while HTTP does not. You should try https, ftp, and maybe even something like rsync, git, or svn. Between A and B and the VPS, you should also try other protocols? From what you've said so far, it doesn't seem like a problem with the http server itself.
Is your home connection also in Sweden, or does it cross any national boundaries?