L'opzione php mysql.connect_timeout
è la ragione di questo. Non viene utilizzato solo per il timeout di connessione, ma anche per attendere la prima risposta dal server. Puoi aumentarlo in questo modo:
ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);