Ошибка 500 и другие

Igor Sysoev is at rambler-co.ru
Sun Jan 9 11:12:31 MSK 2005


On Sun, 9 Jan 2005, Kpoxa KpoIIIkin wrote:

> Igor Sysoev пишет:
>
> >On Sat, 8 Jan 2005, Kpoxa KpoIIIkin wrote:
> >
> >>Чем больше нагрузка, тем больше вероятность ошибок, наличие которых
> >>выглядит весьма странно.
> >>Например ошибка 500, в логах бэкэнда этой ошибки нет, кроме того
> >>выполнение параллельных
> >>запросов к бэкэнду непосредственно выполнялось нормально, без каких-либо
> >>проблем.
> >>
> >>В логе появляется строка вида:
> >>
> >>2005/01/08 20:16:57 [alert] 20722#0: *1027119 socket() returned socket
> >>#10240 while only 10240 connections was configured, closing the socket
> >>while connecting
> >> to upstream, client: 195.131.125.61, URL: /t.php, upstream:
> >>192.168.0.66:80/t.php
> >>
> >>Игорь, если интерестно могу в приват выслать более полный кусок
> >>отладочного лога.
> >>Если ошибка тривиальная, то помогите устранить причину ее появления.
> >>
> >Нужно увеличить число connections.
> >Однако в этом случае 500 ошибка не возвращается, соедиение просто закрывается.
> >
> >500-ым ошибкам соответствуют записи alert и crit.

> 2005/01/08 20:16:57 [alert] 20722#0: *1027119 socket() returned socket
> #10240 while only 10240 connections was configured, closing the socket
> while connecting
>  to upstream, client: 195.131.125.61, URL: /t.php, upstream:
> 192.168.0.66:80/t.php
> 2005/01/08 20:16:57 [debug] 20722#0: *1027119 http proxy connect: -1
> 2005/01/08 20:16:57 [debug] 20722#0: *1027119 finalize http proxy request
> 2005/01/08 20:16:57 [debug] 20722#0: *1027119 http finalize request: 500
> 2005/01/08 20:16:57 [debug] 20722#0: *1027119 http set discard body
> 2005/01/08 20:16:57 [debug] 20722#0: *1027119 HTTP/1.1 500 Internal
> Server Error

> Как видно из приведенного куска лога на необходимость
> увеличить число коннектов nginx ответил пользователю ошибкой 500.
> Так и должно быть?

Да, про это я забыл. Если в логе фраза "accept() returned socket ...",
то до http дело не доходит и соединения сразу же закрывается.
А если "socket() returned socket ...", то это уже при соединении с бэкендом.
В это случае всё работае уже внутри http и клиенту выдаётся 500.

И то, и другое лечится увеличением connections.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list