Comparativa servidores Web Go-NodeJS-PHP-NGINX | Como crear aplicaciones web altamente escalables
Вставка
- Опубліковано 7 лют 2025
- En este vídeo vamos a comparar el rendimiento de distintas tecnologías web como Go, NodeJS, PHP con Apache y Nginx con el objetivo de crear aplicaciones web super escalables.
Tenéis el código del vídeo en esta URL www.albertcoronado.com/2021/05/10/comparativa-servidores-web-para-alto-rendimiento-go-nodejs-php-nginx/
Me encanta el enfoque del canal, ojala no cambie tanto de rumbo.
Amo este canal y debo aclarar que UA-cam si me muestra las recomendaciones de tus videos, gracias por compartir. Saludos desde Colombia
Haca encontré este video de casualidad, ya tienes un suscriptor más. Me pareció muy interesante el contenido
excelente video pero a criterio personal deberias testear todo con docker o todo desde la maquina local para que las metricas sean mas exactas desde mi punto de vista
Muy buen video! Una pena que no llegó a los mil likes para ver el blog en go jeje
Ya sabía que go es muy potente pero no había evaluado este tipo de cosas. Sería chevere hacer más comparativas con otros lenguajes populares tipo java, c# o python.
gracias tío, es una pasada
Quiero y debo aprender go. Excelente esa demostración
Muchas gracias Albert¡ es un tema increible y muy interesante, gracias y todos los éxitos¡
Como siempre gran contenido Albert. Quizás para futuros vídeos actualizar este con los aportes de quienes han comentado. Si puedes hacer mas contenido de GO orientado a web / microservicios seria genial. Gracias.
¡EXCELENTE VIDEO!!! ¡Soy Fanático de Go!!!
excelente video, siempre rescato que explicas bien claro y con ejemplos prácticos, eso es muy valioso, saludos
Te acabas de convertir en mi UA-camr favorito de programacion.
Saludos @NullSafeArchitect
Excelente contenido, me gustó mucho el uso de apache bench. Estaría interesante agregar a la comparativa Nodejs con su librería nativa http
Consulta por qué php es el único que corres con docker si para que sea equitativo debiste correr todas las pruebas en docker
Este video es brutal, muchas gracias. En pocos minutos aprendí bastantes cosas 💪🏻
Un saludo!! Subscripto 👌🏻
Excelente video, gracias Alberto!!
Excelente video!!! Suscriro al canal
Estaría muy bien que hicieras un pequeño curso de web app con go🤩
No me parece bien la ultima comparación. PHP tiene el cli php -S y no dependes de estar usando recursos dentro de docker o asignando memoria dentro de un contenedr. es como si compararas JAVA JVM con C++
Tenía entendido que, correr aplicaciones en contenedores, hace que el rendimiento sea algo más lento que hacerlo en el SO nativo. Si es así, meter a PHP en Docker para compararlo sería como ponerle la zancadilla pudiendo levantar el servidor directamente con # php -S.
¿Qué versión de Node y PHP has usado para la prueba?
opino lo mismo
Pues claro! No es justa la comparativa. Es como hechar una carrera de 3 corredores y a uno de ellos le das una mochila con piedras.
Excelente video, gracias!
En el caso de PHP tiene algo que ver la ejecución del apache en un contenedor ?
Dios! Y eso sin usar concurrencia! Estoy impresionado!
muy interesante, también me sorprende que go haya superado a nginx en este test.
será por las goroutines? tengo entendido que el packete http ya lo usa por defecto
Segun el test q hace en el video pone q tarda 0.599 segundos, luego en el excel tiene apuntado un valor diferente...
Y la comparacion con php con un servidor entremedias como apache y un docker no es justa...
independientemente buen video!
@@miguelgd1985 dice en el video que el ya había hecho el test antes y por eso no anoto los datos mientras hacía el video
Que buen video
Great, video, thanks!!
Interesante dilema, hay que revisar los comentarios y tratar de entender un poco por que se dan esas diferencias. No conozco la forma en que atiende los requerimientos Go y NodeJS, pero si puedo comentar que para Apache y Nginx se configura una cantidad de procesos lo que limita por "Configuración" la concurrencia y es menor a los 1000 simultáneos dados en la prueba, independiente del castigo que puedan tener por el uso de contenedor. Sería importante evaluar también el uso de recursos utilizado en cada caso.
Buen video! Aunque no vi necesario usar Express, por muy "micro" framework que sea. Para hacer las cosas más justas Go debió usar un framework o Node no usar Express
Super los videos
Para que la comparativa sea más justa nodejs debería correrse en modo cluster o con pm2 para que pueda hacer uso de todos los cores del CPU porque si bien Go le está ganando a Node, Go probablemente está usando más de un core/hilo para resolver las peticiones y Node está usando solo uno.
La verdad es que Go esta usando un solo core en estas pruebas, cuando usas Goroutines pasas a utilizar multicores, varios hilos, asi es que ni aun asi nose lo viene a superar, ni a igualar si quiera... saludos amigo
muy buen video, que tal una serie se vídeos donde reemplaces tu página por una en go?
Has corrido el script de php en un docker, no es justo. Arrancalo sin docker y veras como se reduce el tiempo. Es como si hicieras una carrera con 3 corredores y a uno de ellos le pones una mochila con piedras.
Hola esta bueno el video pero tiene un enfoque equivocado. Pero Go es un binario compilado y los otros son interpretado. Ya con eso va tener mejor respuesta. Y con php porque no utilizaste como php -s sin apache para q sea una ejecución igual a Node.
Y este tipo de test también genera un sesgo de las tecnologías. Los proyecto implica otras cosas más compleja . Ejemplo si Go es muy rapido; pero si tenes q conectar a una DB x, APi detercero y puede ser que tenga un cuello de botella en ese lugar y las diferencia puede ser que bajen o cambio con el otro lenguajes.
Saludos
lo mismo pensé yo
Go es súper rápido.
Solo una acotación: php -S es muuuucho más lento que Apache o Nginx... PHP -S es un Servidor web local para Depuración NO SE USA para Producción. Saludos.
Respecto a que si Go tendría un cuello de botella, no creo, porque he realizado programación concurrente con Postgres al abrir varios hilos de consultas sql, incluso con bloqueos de filas para actualizar las mismas (update current...) y la verdad es que Go es muy rápido por su característica "concurrente" que es propio de su núcleo, hacer lo que comento en otro lenguaje es muy complejo y mas propenso a errores.
Además, el desarrollo en este lenguaje es mas fácil, rápido y claro. Yo veo como el lenguaje que desbancará a Python.
@@adolfomuozurgiles9423sin conocer go tiene la parte matemática tan avanzada como python ya que ese es uno de sus fuertes
compartido en el facebook
Gracias Gerardo!
hoy 25-05-2021 faltan 790 likes... vamos team
Venga!!!!!!
excelente faltó rust :)
¿Porque no probar Python Djando, Elixir, y algunos más... ?
Muy buen vídeo, un :+1: solo te falto la comparación con phyton, cuales serian los tiempos de respuesta?
Habria que probar php con roadrunner
la version en go del blog y desarrollo en vivo :)
Los lenguajes compilados se deben comparar con lenguajes compilados, los interpretados con interpretados. El compilado siempre les va a ganar.
Hola, me parecía interesante el titulo del vídeo...
Pero al ver que la supuesta prueba me decepcione, pues esta orientada
a promocionar GO...
Las pruebas realizadas no se realizaron bajo las mismas condiciones.
* GO se ejecuto sin virtualizacion.
* NodeJs se ejecuto sin virtualizacion.
* PHP se ejecuto bajo bajo apache virtualizado en docker.
* NGINX se ejecuto virtualizado en docker.
Lo justo seria ejecutar sin virtualizacion y sin correr bajo o detrás de un servidor apache.
PHP tiene su propio server web, porque no lo corren sin virtualizar para ser mas justo o en
combinacion con NGINX sin virtualizacion.
Ademas el mostrar una imagen y "Hola mundo" como prueba hecha por tierra, pues existe alguna aplicación o pagina cuenta con solo eso, texto de 10 caracteres y una imagen de unos cuantos kb?
Para haber sido justo con apache respecto al resto deberias haber usado mpm event
Me hubiera gustado que entrara python en esa comparativa.
gran video debiste compara con rust también es más rápido que go
Debiste agregar django
Php en un contenedor y compitiendo con lenguajes compilados? ,Tienes ganas que hacer quedar mal el lenguaje? Que version usaste? Todo mal
Podrías repetir el vídeo pero añadiendo otros lenguajes? Como python, Java, .Net
claro php esta optimzado para usar con nginx con fps ....ahi es muy superior frente a los demas al menos en mi configuracion
Objetaría que Go es compilado, php interpretado, pero en el caso de "analizar respuestas web", definitvamente GO va mejor.
Naa, este test esta súper mal hecho, no es para nada justo, deberías subir una segunda parte, por mi parte tienes un dislike.
corriendo php desde un docker, que es una maquina virtual. Muy injusto.
Con todos los respetos esta comparativa está mal!! , para ser justo habría que ejecutar el binario de go y el script de nodejs en un contenedor docker, a parte no es un contexto muy realista pero eso sería otro tema. también habría que tener presente el numero de núcleos empleados ó al menos ejecutar a nodejs en múltiples instancias. Por otra parte nginx por si solo no es comparable con servidores programáticos como go y nodejs ó Apache/PHP.
Estoy de acuerdo con tu opinión.
Todavía faltan 630 likes :(
a ver prueba con Rust....!!!!!! no puedo creer que PHP sea tan lento..
13:28 : Hubieras aprovechado de armar un grafico.
JAVA GRAALVM
Este ejercicio de comparación no es correcto. Aunque no hay duda que Go es rápido existen varios fallos en el benchmark.
RUST GANA
Y por qué no hay datos dinámicos de Nginx en tu tabla?
Nginx solo sirve contenido estático o hace de proxy