Get a packet sniffer and watch the amount of traffic that is going by on your cable connection. This might give you some idea of how much traffic is on your cable block. Each cable block has a limited total bandwidth, which is shared by everyone connected to that block. If the block is over-loaded (which is what sounds like is happening to me) there may be little you can do, other then complaining to the cable company to ask if your block can get its max limit raised, but hardware will limit how far that can be raised (type of cable backbone is in your area, either plain co-axle or co-axle to fiber, and network layout). There may be 2 cable blocks that run through your location, and you might be able to be switched to the other one if there happens to be one there. Aside from that, you don't have much else that you can do, other then DSL.