4 ms·
I believe this is automatically done by the operating system. Nginx usually performs some kind of mmap of the requested file, and the virtual memory management
by vog 11y ago
I believe this is automatically done by the operating system. Nginx usually performs some kind of mmap of the requested file, and the virtual memory management will automatically take care of caching.
BTW, I'm often surprised how people are afraid from opening files from their scripts, as if they think this will always lead to disk access. Then, they start implementing a hand-written caching layer on top of that, which usually performs worse than what the OS already offers.
- deleted 11y ago[deleted]
- falcolas 11y agoIf it's a static file with no dynamic compression (nginx allows the use of pre-compressed assets) or SSL, nginx doesn't even have to open the file, it just uses the sendfile system call.
- shanemhansen 11y agoMinor nit. The sendfile system call requires an open file. nginx can just skip reading the file contents into userspace. Also, BSD has some recent extensions to make sendfile work with ssl [https://people.freebsd.org/~rrs/asiabsd_2015_tls.pdf https://people.freebsd.org/~rrs/asiabsd_2015_tls.pdf] (pdf)