Anyone can possibly explain me why am I getting these huge fluctuations?
This is a frequently asked question. Unfortunately it rarely gets a correct answer.
While there are many different causes to fluctuations in the download speed, in this case with many peaks over 30 MB/s, the most likely reason is that the download speed exceeds what can be written out to disk.
Sequential writes to disk can be done in much higher speeds than that, but bittorrent downloading is done "rarest first" which has a close to random write pattern. Such writes can be more than hundred times slower than sequential writes.
A larger cache won't help. If the download speed is higher than the write speed, the cache will sooner or later be full, regardless of how large it is.
When that happens, the download will pause until the writes has caught up.
So what can be done to fix this?!
Limit the download speed to lower than the max continuous write speed.
This can be done by limiting the download speed very low and then rise it in small steps until the max write speed is found.
Busy torrents will find these speed fluctuations.
It is unlikely to be your hard drive, as others have suggested. The peaks are, on average, 30MB/s. While many folks are claiming these to be random, they really are sequential writes, but in different spots on the disk. Streams of data, cached in memory, which are buffered and written down to disk. Moreover, your upload is unaffected during that time (which would be a read operation using the same disk).
Someone is sending you a chunk and then is putting you at the back of the line until you get more data. Either that or you're being throttled after a while.
Watch your network IO and disk IO. Your network IO is likely coming to a halt.