So I noticed that when I use speedtest.net when it tests the upload I average about 1.83 or so except right before the end of the test where there is a spike in speed so it always gives total results around 1.99 Mbps. Is tha normal?
That's how TCP flow control should work. It's basically a challenge/response system. In this case the sender (you) will start fairly slow and the receiver will come back and challenge you to go a bit faster. Eventually you're sending 2Mbit/sec and when the receiver challenges you to go faster you can't so the speed settles down to a more consistent rate. This back and forth is constantly happening in TCP packets. It works in reverse too. The receiver could be the one telling you to slow down because it cannot accept the speeds you're able to send.
While I use speed.net as well I also like a destop gadget from addgadget.com it is for Vista/7 I place it on the far end of my second monitor along with a few others and when I down load my podcasts is nice to see the speeds I am getting over time.
It monitors both up and down so you would have to find a large file to upload somewhere to see your speed.