Check your actual line speed by using a few online free checks – google them.
If you use ADSL, find out how far you are from the exchange – google this too. Look up the tables to determine whether or not you have good line speed for the distance you are from the excange. If the figure is about right, there’s nothing you can do except perhaps switch to cable. Be warned though – VIrgin are a nightmare for customer service and billing errors.
If the figure is on the low side, contact your ISP and get them to fix the line. Ask for a different profile to be loaded for your line. If you are out of contract and they won’t. switch to a more reputable carrier.
If they do switch your profile, bear in mind that it will take a few days before the line settles to it’s optimum speed.