In looking at a running mongrel process in strace and at the code
itself Mongrel will always look for a file under “public” (with and
without a .html extension). When those filesystem lookups fail, it
then passes the request to Rails.
So my question is, would you get more performance by disabling this
lookup and just handing it off to Rails from the get go?
I understand that in development, the current behavior is desired as
Mongrel is acting as the primary HTTP server. But in production, with
a HTTP server like Apache or nginx in front and configured to serve
static files, then it might make sense to not have Mongrel concern
itself with looking for static files.
Maybe the OS caches those filesystem calls (stat cache?) and this
would be a crazy premature optimization.