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. Thoughts? /Cody
on 2008-12-12 03:06
on 2008-12-12 17:55
On Dec 11, 2008, at 6:05 PM, Cody Caughlan wrote: > 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. > > Thoughts? > > /Cody > You should be able to alter the railshandler to not do these lookups when a config option is set. Merb uses rack middleware to do the static pages and that can be easily turned off in production. I believe latest rails does this as well and maybe you can disable these checks with rack in rails as well? Cheers- Ezra Zygmuntowicz ez@engineyard.com
on 2008-12-12 18:03
Ezra- thanks for your feedback. My greater question is: is it worth it, in the long run? Or is it too negligible? /Cody
on 2008-12-12 18:11
On Dec 12, 2008, at 8:57 AM, Cody Caughlan wrote: > Ezra- thanks for your feedback. > > My greater question is: is it worth it, in the long run? Or is it too > negligible? > > /Cody Hmm i bet it is probably worth it but only if you are trying to squeeze every last drop of perf out of your setup. A fast local filesystem does stats fairly quick and I doubt you will be bale to tell the difference. But if you have overtaxed disks or are using NFS or a shared filesystem of sorts then every littel bit helps to keep from touching the filesystem. So its probably worth it eventually when you get big but probably is not worth it until you actually know it is a problem. Cheers- Ezra Zygmuntowicz ez@engineyard.com
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.