Ok so first off, my knowledge of networking is pretty scarce, so bear with me
When i go to speedtest.net and run the test, i get a download speed of 20.38Mbps and upload of 6.73Mbps. From my understanding that's not bad, and my internet speed should be fairly good. When downloading games, watching tv (on twitch.tv, hulu, netflix etc.), or even playing games, it doesnt seem that this is the case. When downloading a game, for example, the maximum download rate that i ever see, on any game, is usually maxed out at around 1.5Mbps. In addition, when playing games like dota2 or sc2 i sometimes get random bouts of bad lag that will last for an entire game.
What i want to know is if this is normal with speedtest telling me my download speed is 20Mbps, or if something else could be slowing me down. Thanks!
I am going to assume you have a cable internet connection, speed tests are generally innaccurate mainly because of "boost" style services.
Your ISP will generally boost your download higher than your provisioned download speed for the first 10MB of a file. This is highly dependent on ISP however. That being said, if your aim is to check your real speed try downloading a large file from a server with the bandwidth capable of supplying your max download.
In regard to your download rate "cap" beware of your isp using your lack of networking knowledge against you. there is a big difference between 20MB and your connection speed is probably 15megaBITS per second (boosted to 20 for short downloads) which translates to roughly 1.8megaBYTES per second.
search: 15megabits to megabytes on google and you will see what I mean.
So your download speed is right on par.
As far as lag is concerned, keep in mind latency and download speed are quite different. Your speed in a video game is generally limited by your distance to the server you are accessing
For example, if you live on the east coast connecting to a server on the east coast your latency will be roughly 30milliseconds, if you live on the east coast connecting to west coast it will be more along the lines of 100-150ms which is the response time for every action you take in the game. So distance to the server as well as peer to peer style traffic, like sc2/dota. The slower the connections of other players in the game the worse it is for you
Sorry for the long post, hopefully that lets you understand your issue a little better.