Estoy trabajando en un pequeño y pequeño proyecto PHP para un amigo mío, y tengo una configuración de entorno WAMP para el desarrollo local. Recuerdo los días en que la respuesta de mi Apache 2.2 local fue inmediata. Por desgracia, ahora que regresé de unas largas vacaciones, encuentro las respuestas localhost
dolorosamente lentas.
Se tarda unos 5 segundos en obtener una página HTML de 300B.
Cuando miro el administrador de tareas, los httpd
procesos (2) están utilizando hasta el 0% de la CPU y, en general, mi computadora no está bajo carga (0-2% de uso de la CPU).
¿Por qué la latencia es tan alta? ¿Hay alguna configuración de Apache que pueda modificar para que su hilo se ejecute con una prioridad más alta o algo así? Parece que simplemente está durmiendo antes de dar respuesta.
fuente
localhost
resolviendo correctamente en cuanto a DNS?ping localhost
debería volver instantáneamente con127.0.0.1
.http://localhost/index.html
)? Si no, podría ser un problema de PHP, no un problema de Apache.strace
ytcpdump
son herramientas útiles para esto.Respuestas:
Para mí, la configuración de la
ServerName
propiedadhttpd.conf
solucionó los retrasos (en el peor de los casos fueron de hasta 10 segundos):fuente
If your host doesn't have a registered DNS name, enter its IP address here.
Tuve el mismo problema.
La configuración de la redirección localhost a 127.0.0.1 en el archivo de hosts no ayudó. La optimización del servidor MySQL no ayudó (InnoDB -> MyISAM, cambiando muchas directivas relacionadas con caché en my.ini).
Luego usé web webgrind y reduje el problema a "nueva llamada PDO (...)". Cambiando
a
en dsn para PDO resolvió completamente el problema ! El tiempo de carga de la página pasó de más de 3000 ms a 16 ms .
Sin embargo, estoy realmente confundido por qué la línea "127.0.0.1 localhost" en el archivo hosts no ayudó.
fuente
$link = new PDO('mysql:host=localhost;dbname=dp-ui;charset=utf8');
a$link = new PDO('mysql:host=127.0.0.1;dbname=dp-ui;charset=utf8');
El problema fue con el archivo de configuración principal de Apache
httpd.conf
.Encontré esto:
Entonces, entré en la configuración de Apache y vi dónde estaba el problema: lo tenía configurado como CGI, en lugar de cargarlo como un módulo. Esto hizo
php-cgi.exe
que se iniciara y se apagara cada vez que hacía una solicitud. Esto estaba ralentizando milocalhost
desarrollo.Cambié la configuración para cargar PHP como un MÓDULO Apache y ahora todo funciona perfectamente. :)
Gracias por todos tus esfuerzos.
fuente
Tuve el mismo problema y finalmente descubrí que provenía de dos hechos:
http://myproject.local/
porque puse una línea127.0.0.1 myproject.local
en/etc/hosts
El problema aparece porque el
.local
tld está reservado para el servicio Bonjour, y esto desde Mac OS X Lion (10.7).Cambiar el tld por algo más solucionó el problema.
fuente
Verifique si
/etc/hosts
es correcto. Me gusta esto:En el lugar
****
da tu nombre de host.fuente
127.0.0.1 something.atmy.localhost
y ahora la solicitud ya no toma 20 segundos. En cambio, el apache local responde de inmediato. No sé mucho sobre redes. Supongo que el nombre de dominio se resuelve demasiado lentamente, porque algo no está configurado correctamente.En su
httpd.conf
asegúrese de establecer la configuraciónHostnameLookups Off
.fuente
En caso de que ayude a alguien, tuve este problema y se redujo a una búsqueda de DNS incorrecta .
El servidor DNS en el servidor se configuró en
127.0.0.1
: lo cambié para usar los servidores DNS públicos de Google, y eso lo hizo mucho más rápido.fuente
La pregunta tiene una etiqueta apache-2.2, pero si alguien se ve afectado por este nefasto problema también en WAMP con Apache 2.4 + PHP 5.5 , la siguiente respuesta en SO me sirvió:
https://stackoverflow.com/a/18786773/260080
fuente