Debes de tomar el tiempo inicial e intentar cargar una imagen (response.flush), luego, cuando la hayas subido, tomas nuevamente el tiempo, con ello puedes detectar la velocidad de conexión.
Puedes verlo corriendo
aquí para que analices los queryString y te des una idea.
Creo en las respuestas anteriores (muy anteriores) ya se habló de ello y hay código asociado.