| |||
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 :) |
| |||
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:
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. <?php echo "Hola compañeros"; sleep (10); aqui iba mas codigo ni me acuerdo ?> |
| |||
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 :( |
| |||
Respuesta: PHP atiende solo 1 a la vez Cita: 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
Iniciado por pateketrueke 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. |
| ||||
Respuesta: PHP atiende solo 1 a la vez Cita: 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) |
| |||
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? |
| ||||
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) |
| ||||
Respuesta: PHP atiende solo 1 a la vez Cita: Te equivocas, PHP tiene threads
Iniciado por pateketrueke 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.
__________________ www.marcher.com.uy - Web personal Nerd's Corner - Desarrollo de software a medida |
Etiquetas: |