Is the synchronization process supposed to be downloading at less than 5kB/s? I've been running the bitcoin-qt client for over a week now trying to catch up with the block chain (closer to three weeks if I count the first time I had to synchronize everything).  Looking at my bandwidth usage, I'm only getting 2-5 kB/s at any given time.

I did a ton of Googling and noticed a lot of others were complaining about the long synchronization process, but none of them seemed to be as long as mine (and no one made mention of their speeds).  Is it supposed to be this slow, or have I set something up incorrectly?

I should further clarify that this is not a new issue, this has been persistent since I started using bitcoin over a year ago.



Further information:

The client is always at or below 8 connections to the Bitcoin network (if that is at all relevant/useful information).  I have UPnP enabled.

Computer: I'm using a laptop (OS: Win7 64-bit) from a few years back, so inherently the  specs aren't tops (but by no means terrible) - the CPU is an AMD Athlon II M300 (2 cores / 2 threads, 2.0 GHz, 1MB cache).

CPU Usage: According to perfmon, bitcoin-qt averages 7% CPU consumption.

Blocks processed: 124 in an hour (I also made a list breaking it up into 10-minute increments and it averaged 1.8-2.0 blocks per minute of those increments, so it agrees with the hourly rate without much fluctuation).
The synchronization process may be slow on slow computers - it does not only rely on bandwidth. After downloading a chunk of blocks from various peers, the Client needs to verify every transaction in them, which is a very CPU intensive task. If you have a slow computer, this will be the bottleneck - you will spend a lot of time verifying the block and only a little downloading them, making the average download speed small.