Quote:
Originally Posted by borked
I don't see how nginx can get around that if a disk mounted without noatime, since that's a kernel-level thing. Every file's access time is altered irrespective of software if noatime is not specifically specified.
|
To do it on purpose:
Code:
open(filename, O_NOATIME, ...
To do it explicitly you use the flag to open() as above. To do it accidentally and in a way that not only do your users not know you're doing it, but you yourself don't know you're doing it, you try to be as clever as you can with your caching. If your caching code is as "clever" as you can write, by definition you're not clever enough to understand all of it's side effects and you get clever but broken caching like nginx.
Quote:
Originally Posted by Brujah
Ray were you using relatime before? If not, did it make a big difference? Does Apache have a noatime-like setting so you don't have to change the mount?
|
A patch to use O_NOATIME should be fairly trivial, but a module with no patch would be a little more involved because apr_file_open() doesn't currently pass flags directly to open(). Instead it ORs only the APR_* flags. One would need to make a trivial patch to apr_file_open(), then optionally pass O_NOATIME from a module based on configuration (or just use noatime always).
__________________
For historical display only. This information is not current:
support@bettercgi.com ICQ 7208627
Strongbox - The next generation in site security
Throttlebox - The next generation in bandwidth control
Clonebox - Backup and disaster recovery on steroids