Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP atiende solo 1 a la vez

Estas en el tema de PHP atiende solo 1 a la vez en el foro de PHP en Foros del Web. LLebo tiempo utilizando php, pero hace unos meses me entere que php atiende "1 a la vez", y eso me quedo sonando, entonces me pregunto ...
  #1 (permalink)  
Antiguo 23/05/2015, 21:32
 
Fecha de Ingreso: mayo-2015
Ubicación: Medellín
Mensajes: 33
Antigüedad: 8 años, 11 meses
Puntos: 1
PHP atiende solo 1 a la vez

LLebo tiempo utilizando php, pero hace unos meses me entere que php atiende "1 a la vez", y eso me quedo sonando, entonces me pregunto si hago una web que se demore 1 segundo en ejecutar (ejemplo), si llega a suceder que 50 personar entrasen al mismo tiempo... la persona numero 50, tendria que esperar 50 segundos para que saliera la web ¿Me equivoco?,y entonces como puedo hacer para que mis paginas, si es frecuentada muchas veces al dia, los usuarios no tengan que esperar tanto, me refiero a manejar el trafico ya que solo atiende 1 a la vez, ¿como hacen todas esas empresas para no saturar sus sitios hechos en php?, gracias :)
  #2 (permalink)  
Antiguo 23/05/2015, 22:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP atiende solo 1 a la vez

Te equivocas, creo que entendiste mal eso de "1 a la vez", porque PHP no atiende ninguna petición.

Es el servidor web en cuestión el que atiende la petición y la delega al proceso de PHP, ya sea Apache, Nginx, etc.

Probablemente a lo que se referían era a que PHP no es multi-hilo, es decir, que no puede atender múltiples sub-procesos.

Me gustaría saber donde te enteraste de tremenda cosa, que, debo advertirte: me suena a una tontería de alguien que no tiene fundamentos ni experiencia con PHP.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/05/2015, 06:39
 
Fecha de Ingreso: mayo-2015
Ubicación: Medellín
Mensajes: 33
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: PHP atiende solo 1 a la vez

hola, gracias por responder, me entere por un video tutorial que estaba mirando por youtube, es que estaba programando no se que cosa, y no encontraba una forma de hacer algo, entonces utilice SAN GOOGLE y igual no me dio mayor cosa en la seccion videos vi unos cuantos y me puse a mirarlos, en fin el video era muy basico, sobre como programar en PHP, la vaina es que me quede viendolo porque se le notaba experiencia y ademas estaba grabando su pantalla mientras explicaba a sus alumnos o gente que tenia en el salon o cuarto, en fin, como solo grabo la pantalla no se sabia el lugar ni la persona, y el coloco el siguiente ejemplo:

Código:
<?php
echo "Hola compañeros";
sleep (10);
aqui iba mas codigo ni me acuerdo
?>
y resulta que lo ejecuto en 3 navegadores diferentes, al mismo tiempo, entonces en el primero se demoro: 10 seg, el segund mas o menos: 19 seg el ultimo 28 a 30 seg, en salir el resto de codigo y dejo esto sucede pues PHP atienete 1 a la vez no VARIOS.
  #4 (permalink)  
Antiguo 24/05/2015, 06:43
 
Fecha de Ingreso: mayo-2015
Ubicación: Medellín
Mensajes: 33
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: PHP atiende solo 1 a la vez

Que lenguaje atiente a VArios multi-hilos, para web, porque esto de php si como que no me gusta, porque en un caso de que se quiera atender a 100 usuarios cada 10 segundos, tendrian que esperar un monto, y no es tan viable, ahora, no me explico porque tantas personas programan php ante esta problematica :(
  #5 (permalink)  
Antiguo 24/05/2015, 06:45
 
Fecha de Ingreso: mayo-2015
Ubicación: Medellín
Mensajes: 33
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: PHP atiende solo 1 a la vez

Cita:
Iniciado por pateketrueke Ver Mensaje
Te equivocas, creo que entendiste mal eso de "1 a la vez", porque PHP no atiende ninguna petición.

Es el servidor web en cuestión el que atiende la petición y la delega al proceso de PHP, ya sea Apache, Nginx, etc.

Probablemente a lo que se referían era a que PHP no es multi-hilo, es decir, que no puede atender múltiples sub-procesos.

Me gustaría saber donde te enteraste de tremenda cosa, que, debo advertirte: me suena a una tontería de alguien que no tiene fundamentos ni experiencia con PHP.
si pero en fin, cada vez que el servidor web le hacen una peticion, este delega a php, en resumen atiende 1 a la vez, no multi-hilo
  #6 (permalink)  
Antiguo 24/05/2015, 07:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: PHP atiende solo 1 a la vez

Cita:
Iniciado por hayegesa Ver Mensaje
si pero en fin, cada vez que el servidor web le hacen una peticion, este delega a php, en resumen atiende 1 a la vez, no multi-hilo
Si eso fuese así, Internet no existiría.

No confundas la ejecución de peticiones de un único servicio de PHP con el funcionamiento de un WebServer. No es PHP quien atiende las peticiones de usuarios en paralelo.

Si quieres entender el tema los videos no alcanzan, tendrás que estudiar sobre sistemas operativos y servidores de web.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 24/05/2015, 08:46
 
Fecha de Ingreso: mayo-2015
Ubicación: Medellín
Mensajes: 33
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: PHP atiende solo 1 a la vez

Gracias por responder, primero, me gustaria que en resumen me explicaras el procedimiento, y como segundo quisiera que me recomendaras un libro que se relacione a lo que yo estoy dudando y quiero aclarar, algo con relacion al funcionamiento de servidores web.

Pero, en tal caso como sea el funcionaminto, si se atiende1 a la vez ¿Verdad?, pero si el servidor web atiende 1 a la vez sea cual sea, entonces ¿Para que sirve el multi-hilo, si de el lenguaje no depende la peticion?
  #8 (permalink)  
Antiguo 24/05/2015, 22:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: PHP atiende solo 1 a la vez

Para no meternos en una explicación que requiere enseñarte las materias de todo primer y segundo año de la facultad de ciencias informaticas, vamos a hacerte un ejemplo simple:
Supongamos que abres el navegador de internet, por ejemplo el Firefox, y navegas hast aeste foro (www.forosdelweb.com/f18). Veras sin problema todos los hilos que se recuperaron, resaltando en negrita aquellos que nunca leíste.
Ok. Ahora, sin cerrar el navegador ni la página, vuelves a abrir otrainstancia del Firefox, navegas nuevamente a este foro y visualizas lo mismo.
Vuelve al segundo y entra en el primer link que no hayas leído, y luego refresa hacia atrás.
¿Que ves en cada navegador?
Simple: en uno está todavía marcado como resaltado y en el otro no...

¿Por qué?
Porque son instancias diferentes de dos procesos diferentes de ejecución.

Si avanzamos mas, puedes navegar en diferentes subforos en cada una de las instancias abiertas, sin que la otra muestre la misma vista en pantalla.

¿Qué está pasando?

Sencillo: El Web Server te provee de dos conexiones y dos instancias de procesos diferentes, que realizan peticiones diferentes, todo al mismo tiempo.
¿Se entiende la idea?

Bueno, a nivel PHP pasa algo eso: N conexiones de N usuarios haciendo N peticiones a PHP, son atendidas por N hilos provistos por el Sistema Operativo, de acuerdo a las capacidades del servidor que se esté usando. Y como en los host, no se usan servidores de un solo procesador, entonces se pueden hacer procesamientos en paralelo, aún cuando haya encolamiento de peticiones al servidor de PHP.
Hay muchos sistemas y subsistemas que intervienen en un host, que están diseñados para dar soporte a las conexiones y peticiones concurrentes. Explicar el detalle de cada cosa nos llevaría un enorme tiempo, y requiere de conocimientos que están más allá de lo que puedes aprender en YouTube, o en un libro cualquiera (incluyendo los de la facultad) pero a vuelo de pájaro esa es la idea.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 25/05/2015, 02:33
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 566
Antigüedad: 18 años, 5 meses
Puntos: 24
Respuesta: PHP atiende solo 1 a la vez

Cita:
Iniciado por pateketrueke Ver Mensaje
Te equivocas, creo que entendiste mal eso de "1 a la vez", porque PHP no atiende ninguna petición.

Es el servidor web en cuestión el que atiende la petición y la delega al proceso de PHP, ya sea Apache, Nginx, etc.

Probablemente a lo que se referían era a que PHP no es multi-hilo, es decir, que no puede atender múltiples sub-procesos.

Me gustaría saber donde te enteraste de tremenda cosa, que, debo advertirte: me suena a una tontería de alguien que no tiene fundamentos ni experiencia con PHP.
Te equivocas, PHP tiene threads
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida
  #10 (permalink)  
Antiguo 25/05/2015, 09:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP atiende solo 1 a la vez

Cita:
Iniciado por vb2005 Ver Mensaje
Te equivocas, PHP tiene threads
¿Podrías dar un ejemplo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: usuarios, vez
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:32.