Não há uma maneira 100% precisa de fazer isso, pois sua velocidade depende de muitos fatores. Você pode fazer algum tipo de teste de velocidade periódica para medir a velocidade em algum momento, e fazer crons para executá-lo quando quiser.
Primeiro você precisa saber que o servidor do qual você está baixando os dados pode realmente enviá-lo na velocidade maior (ou igual) do que a velocidade esperada (você paga). Segundo, você precisa saber que não há um link congestionado entre o seu provedor e o servidor, ou isso afetará seu teste. Você não pode saber disso, mas é preferível escolher um servidor fisicamente mais próximo de você. Como você está pagando pela velocidade de acesso à sua rede de ISPs, eles não podem ser responsáveis pelo congestionamento que acontece em algum outro lugar na Internet. Além disso, se você não tiver algum software de monitoramento que mostre toda a largura de banda usada por todos os hosts em sua rede, não deverá ter outra atividade em seu link ao lado da transferência de dados de teste naquele momento. Você pode baixar qualquer arquivo, eu costumo baixar alguns linux .iso de um servidor que está perto da minha localização. O software de monitoramento pode exibir sua taxa de transferência usada em algum momento, mas isso não é necessariamente a taxa de transferência máxima disponível naquele momento (pelas razões mencionadas acima).
Para ser honesto, não vejo uma razão muito boa para você fazer isso, isso tornará sua conexão praticamente inutilizável nos períodos de teste e eu não acho que você vai chegar a lugar algum com o seu ISP. Isso parece simples congestionamento e não algo que é deliberado, e eles provavelmente dirão que não podem garantir a largura de banda máxima (a menos que você tenha esse tipo de contrato). Além disso, se eles supuserem que ninguém usará muita largura de banda nas horas de trabalho, não vejo o que eles ganhariam com isso.