Pregunta

Tengo un nuevo servidor VPS y estoy intentando que se conecte a otro servidor en el mismo ISP. Cuando me conecto a través de la herramienta de línea de comandos de mysql, la conexión es muy rápida.

Cuando uso PHP para conectarme a la base de datos remota, el tiempo de conexión puede tomar hasta 5 segundos. Las consultas después de esto se ejecutan rápidamente.

Esto no se limita a mysql, usar file_get_contents () para descargar un archivo de casi cualquier otro servidor da el mismo retraso. Usar wget para obtener el archivo no tiene este retraso.

Tomé el tiempo de las consultas DNS desde PHP usando dns_get_record (), y estas son rápidas (1-2 milisegundos).

¿Alguna idea sobre qué puede estar causando esto en la configuración de php?

Gracias.

¿Fue útil?

Solución 2

Terminé actualizando de PHP 5.1.6 a PHP 5.2.6, y el problema desapareció. Definitivamente fue un problema de búsqueda de DNS en PHP, lo siguiente tardaría unos 5 segundos en ejecutarse:

gethostbyname('example.com')

Tengo la sensación de que IPV6 fue un problema (principalmente un presentimiento por leer sobre esto en línea), pero no tengo ninguna prueba.

Otros consejos

Comprobaría para ver en qué modo se está ejecutando PHP, ¿es por alguna razón ejecutando los scripts como CGI? Básicamente, PHP es realmente lento y solo se nota cuando se ejecutan operaciones remotas.

Verifique la configuración del servidor web. Además, si es una opción, pruebe PHP desde la línea de comandos y vea si funciona mejor sin la capa del servidor web involucrada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top