@websolete The Java-based Undertow web server is both powerful and quite fast. All CF traffic is going to hit Undertow anyway, so putting a proxy in front of it does nothing but add network hops. (And, CommandBox has a better out-of-the-box lockdown for security so you'll actually have to do more work to configure Apache/Nginx to be as secure)
So this really comes down to static files IMO. I've done some head-to-head testing of
• IIS
• Apache
• CommandBox
serving up static files under extreme load and the throughput of each web server (we're talking like 5,000 requests per second) was basically identical. The only server that showed an edge was IIS, which had slightly lower CPU usage, probably due to its OS-level stack integrations on Windows.
So, if Apache is on the box serving static files, it's not going to do it any faster than CB can serve them. So now it basically comes down to threads. You can configure CommandBox/Undertow to process as many concurrent requests as you want (and an image getting downloaded is a "request") but if you have users downloading, like, 1GB zip file or something, that could be taking away threads from CF requests. But to be honest, if you have enough large static assets to worry about this, you should probably be using a CDN like S3 in the first place which means you can just stick with CommandBox and be done with it 🙂