Having this problem faced by many times in the past, I can assure you that the source of this problem is either in the hardware or in the software. Most people like to check their internet speed by taking Speed Test online. But as it’s said we should always consider all the possibilities which a problem can arise from. Let us consider some of the facts which may be the source of the problem.
Everything on the internet that you download or upload to a link has to travel long distance. Take an example for instance, of a pizza delivery bike or a van, it travels a long distance from the source point to the destination point and in between this distance the speed of the pizza delivery guy varies from point to point. Sometimes it takes less minutes to deliver and sometimes it takes longer than the usual. In your mind many questions arise that what is the problem that or what took him so long. But we should consider all the factors such as he might have to face the problem of a traffic jam or something might happen to his bike.
The similar case is with the internet and has similar factors that depend upon.