L'option php mysql.connect_timeout
en est la raison. Il n'est pas seulement utilisé pour le délai de connexion, mais aussi pour attendre la première réponse du serveur. Vous pouvez l'augmenter comme ceci :
ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);