upstream timeouts I can not explain

Руслан Закиров ruz at
Wed Jan 11 21:04:13 UTC 2017

On Wed, Jan 11, 2017 at 10:25 PM, Руслан Закиров <ruz at> wrote:

> On amd64 sendfile() uses mbufs / mbuf clusters.  Try looking into
> "vmstat -z" to see if there are enough mbuf clusters in various
> zones.  Note well tha sendfile() normally blocks on disk, and it
> might simply mean that your disk subsystem is (occasionally)
> overloaded.  Try gstat to see some details.
> It is goes red periodically and i should look further there.

It was disk subsystem. atime updates were enabled (needed them for one
thing), kern.filedelay is 30s, top -mio -S showed syncer jumping up every
30seconds. Re-mounting disk with noatime dropped number of errors down to
<10 per minute from 200+.

At this moment i wonder if turning off sendfile will help. Will nginx use
> aio to serve static files from disk without blocking?

Still open question.

Also, sendfile syscall has two flags on bsd to avoid blocking. Can these be
> used to avoid blocks?

Looks like BSD 11 has improvements in this area. At least `man` says that
sendfile doesn't block on disk I/O and can return earlier with success.

Руслан Закиров
Руководитель отдела разработки веб-сервисов
+7(916) 597-92-69, ruz @  <>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list