C'est une question délicate à répondre. Si vous avez écrit un serveur de nœuds vraiment léger pour ne servir que des fichiers statiques, il fonctionnerait probablement mieux que nginx, mais ce n'est pas si simple. ( Voici un "benchmark" comparant un serveur de fichiers nodejs et lighttpd - dont les performances sont similaires à celles de ngingx lors du service de fichiers statiques).
Les performances en ce qui concerne la diffusion de fichiers statiques ne se limitent pas au serveur Web qui effectue le travail. Si vous voulez les meilleures performances possibles, vous utiliserez un CDN pour servir vos fichiers afin de réduire la latence pour les utilisateurs finaux et bénéficier de la mise en cache périphérique.
Si cela ne vous inquiète pas, node peut très bien servir des fichiers statiques dans la plupart des situations. Node se prête au code asynchrone, sur lequel il s'appuie également car il est monothread et toute entrée / sortie bloquante peut bloquer l'ensemble du processus et dégrader les performances de vos applications. Il est plus que probable que vous écrivez votre code de manière non bloquante, mais si vous faites quelque chose de manière synchrone, vous pouvez provoquer un blocage, ce qui dégraderait la vitesse à laquelle les autres clients peuvent obtenir leurs fichiers statiques. La solution simple est de ne pas écrire de code de blocage, mais parfois ce n'est pas une possibilité, ou vous ne pouvez pas toujours l'appliquer.