Definitely proxy your Node server through Apache. Not only can Apache serve static files faster than Node probably ever will, but it’s really not much of a bottleneck – the opposite, however, is not true. (Although Nginx is definitely my preferred option.)
Give it a try with Apache Benchmark!
$ ab -c 1000 -n 5000 http://127.0.0.1/
My personal numbers are:
- 22,281 requests/sec for static Nginx files
- 5,514 requests/sec for Node
- 4,729 requests/sec for Node via Nginx
If you’re looking for something much higher, Haskell’s Warp gets about 12,000/sec. :)