Esa es una pregunta difícil de responder. Si escribiera un servidor de nodos realmente liviano para servir archivos estáticos, lo más probable es que funcione mejor que nginx, pero no es tan simple. ( Aquí hay un "punto de referencia" que compara un servidor de archivos nodejs y lighttpd, que es similar en rendimiento a ngingx cuando sirve archivos estáticos).
El rendimiento con respecto al servicio de archivos estáticos a menudo se reduce a algo más que el servidor web que hace el trabajo. Si desea el mayor rendimiento posible, utilizará una CDN para entregar sus archivos a fin de reducir la latencia para los usuarios finales y beneficiarse del almacenamiento en caché perimetral.
Si no le preocupa eso, el nodo puede servir archivos estáticos sin problemas en la mayoría de las situaciones. Node se presta a código asincrónico, en el que también se basa, ya que es de un solo subproceso y cualquier bloqueo de E / S puede bloquear todo el proceso y degradar el rendimiento de sus aplicaciones. Lo más probable es que esté escribiendo su código sin bloqueo, pero si está haciendo algo sincrónicamente, puede causar bloqueo, lo que degradaría la rapidez con que otros clientes pueden obtener sus archivos estáticos. La solución fácil es no escribir código de bloqueo, pero a veces eso no es posible o no siempre se puede hacer cumplir.