Junto con la demás validacion, yo uso:
Código PHP:
if ($archtamano > 2097152){
$atamano = "gordo";
Y eso mejoraria la velocidad, pero solo si los archivos no llegan a ese maximo, pero si con un archivo de 2,5Mb tarda 5 min y no consigue subirlo, con un archivo de 1,99 Mb (que si pasaria el filtro) tampoco lo subiria