Question

J'ai un nouveau serveur VPS et j'essaie de le faire se connecter à un autre serveur chez le même fournisseur de services Internet. Lorsque je me connecte à l'aide de l'outil de ligne de commande de mysql, la connexion est très rapide.

Lorsque j'utilise PHP pour me connecter à la base de données distante, le temps de connexion peut prendre jusqu'à 5 secondes. Les requêtes qui suivent sont exécutées rapidement.

Ceci n'est pas limité à mysql, utiliser file_get_contents () pour télécharger un fichier depuis presque n'importe quel serveur donne le même retard. Utiliser wget pour obtenir le fichier n’a pas ce décalage.

J'ai chronométré les requêtes DNS depuis PHP avec dns_get_record (), et elles sont rapides (1 à 2 millisecondes).

Avez-vous des idées sur ce qui dans la configuration php peut être la cause?

Merci.

Était-ce utile?

La solution 2

J'ai fini par passer de PHP 5.1.6 à PHP 5.2.6 et le problème a disparu. Il s’agissait bien d’un problème de recherche DNS dans PHP. Le temps suivant était de 5 secondes:

gethostbyname('example.com')

J’ai le sentiment que l’IPV6 était un problème (surtout une impression de lire à ce sujet en ligne), mais je n’ai aucune preuve.

Autres conseils

Je vérifierais dans quel mode PHP est en cours d’exécution. C’est pour une raison quelconque que les scripts sont exécutés en tant que CGI. Fondamentalement, PHP est vraiment très lent et n’est visible que lorsqu’il exécute des opérations distantes.

Vérifiez la configuration du serveur Web. De plus, si c'est une option, essayez PHP à partir de la ligne de commande et voyez s'il fonctionne mieux sans la couche de serveur Web impliquée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top