nginx, fastcgi, uninterruptible sleep

Andrei Nigmatulin anight at eyelinkmedia.com
Tue Nov 28 18:21:41 MSK 2006


On Tuesday 28 November 2006 18:07, drmarker wrote:
> Привет.
>
> В логах вижу много ошибок обращения nginx к fastcgi на unix-socket.
>
> Типа таких:
>
> upstream timed out (110: Connection timed out) while reading response
> header from upstream, upstream: "fastcgi://unix:/tmp/fcgi.sock:"

Скрипты не успевают обрабатывать запросы.

> fastcgi - локальный standalone server, через FCGI.pm, но не суть.
>
> Судя по top, скрипт большую часть времени висит в "D" (uninterruptible
> sleep).

Это может быть интенсивное обращение к локальному диску - можно проверить с 
помощью vmstat(8).

> Скрипт ходит в memcached, иногда в /proc, еще реже на диск через
> DBD-SQLite.
>
> Если сделать backlog на listen поменьше (100, вместо 1024) - ошибок
> больше. То есть fastcgi не успевает отрабатывать поступающие запросы
> (хотя на бенчмарках на более слабой машине легко делает 300req/sec с
> concurency 100). Но почему и зачем он висит в "D"? Или это не влияет?
>
> Куда копать?

-- 
Andrei Nigmatulin
GPG PUB KEY 6449830D

Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take


More information about the nginx-ru mailing list