A parte de los test en speedtest hay que mirar la calidad de la línea, te recomiendo que hagas el test den PINGTEST.NET (necesita shabilitar un applt de Java para medir el packetloss), aquí el de mi conexión:
Independientemente de la velocidad contratada/real, tienes que saber en que estado está tu línea. Una mala velocidad puede ser provocada por un alto packetloss (paquetes perdidos) o un Jitter elevado. Lo mejor es que conozcas que calidad de línea tienes y luego mires de solventar los posible problemas detectados. Una linea tipo A o A+ sería lo recomendable.
En mi ejemplo, e sun test entre BCN <> MAD y me ha dado n ping de 26ms con Jitter de 3. No es mi mejor resultado pero no me puedo quejar, ésta calidad de línea me permite alcanzar los 51MB reales de los 50MB que tengo contratados.