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 localhostdolorosamente lentas.
Se tarda unos 5 segundos en obtener una página HTML de 300B.
Cuando miro el administrador de tareas, los httpdprocesos (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

localhostresolviendo correctamente en cuanto a DNS?ping localhostdeberí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.straceytcpdumpson herramientas útiles para esto.Respuestas:
Para mí, la configuración de la
ServerNamepropiedadhttpd.confsolucionó 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.exeque se iniciara y se apagara cada vez que hacía una solicitud. Esto estaba ralentizando milocalhostdesarrollo.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.localen/etc/hostsEl problema aparece porque el
.localtld 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/hostses correcto. Me gusta esto:En el lugar
****da tu nombre de host.fuente
127.0.0.1 something.atmy.localhosty 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.confasegú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