To trudne pytanie. Jeśli napisałeś naprawdę lekki serwer węzłów, który obsługuje tylko pliki statyczne, najprawdopodobniej działałby lepiej niż nginx, ale nie jest to takie proste. ( Oto "test porównawczy" porównujący serwer plików nodejs i lighttpd - który jest podobny pod względem wydajności do ngingx podczas obsługi plików statycznych).
Wydajność w zakresie obsługi plików statycznych często sprowadza się do czegoś więcej niż tylko serwera WWW wykonującego pracę. Jeśli chcesz uzyskać najwyższą możliwą wydajność, będziesz używać CDN do obsługi plików, aby zmniejszyć opóźnienia dla użytkowników końcowych i skorzystać z buforowania na krawędzi.
Jeśli się tym nie martwisz, node może obsługiwać pliki statyczne w większości sytuacji. Węzeł nadaje się do kodu asynchronicznego, na którym również polega, ponieważ jest jednowątkowy, a każde blokujące operacje wejścia / wyjścia mogą zablokować cały proces i obniżyć wydajność aplikacji. Najprawdopodobniej piszesz swój kod w sposób nieblokujący, ale jeśli robisz coś synchronicznie, możesz spowodować blokowanie, które zmniejszyłoby szybkość obsługi plików statycznych przez innych klientów. Łatwym rozwiązaniem jest nie pisanie kodu blokującego, ale czasami nie jest to możliwe lub nie zawsze można go wymusić.