Try using ping on a remote computer when you seem to have a good connection. Then write down the numbers you receive and use them as a baseline for future comparisons. The next time you seem to have a bad connection, ping that same computer again and compare the numbers. If they're significantly different, it's the Internet that's causing the slowdown, not you. Try Traceroute Traceroute is a program that works similarly to Ping but adds a significant piece of information.
More hops means more time and a slower connection.
Fewer hops takes less time and should yield a faster connection. Use traceroute multiple times to establish a baseline for future comparisons. Note that due to the technical way the Internet works, information may take different routes each time. So although the names of the computers en route may differ, the number of hops and length of time are what's important. Traceroute can be helpful in figuring out where the communication is failing or being retarded.