53: Software caused connection abort

Igor Sysoev is at rambler-co.ru
Mon Mar 9 21:40:39 MSK 2009


On Mon, Mar 09, 2009 at 05:11:08PM +0100, Andrew wrote:

> Добрый день.
> Стоят два одинаковых сервера, с примерно одинаковой нагрузкой
> 30-40mbps, один CentOS, другой FreeBSD, на обоих запущен nginx.
> 
> Тот, который FreeBSD 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52 UTC 2008 i386
> постоянно выдает в лог сообщения
> 2009/03/09 22:51:27 [error] 39782#0: accept() failed (53: Software caused connection abort) while accepting new connection on 0.0.0.0:80
> 2009/03/09 22:52:12 [error] 39782#0: accept() failed (53: Software caused connection abort) while accepting new connection on 0.0.0.0:80
> 2009/03/09 22:52:23 [error] 39782#0: accept() failed (53: Software caused connection abort) while accepting new connection on 0.0.0.0:80
> 2009/03/09 22:53:07 [error] 39781#0: accept() failed (53: Software caused connection abort) while accepting new connection on 0.0.0.0:80
> 2009/03/09 22:53:30 [error] 39782#0: accept() failed (53: Software caused connection abort) while accepting new connection on 0.0.0.0:80
> 
> Аналогичный сервер на CentOS такого не делает, там таких сообщений нет вообще.
> На centos используется defered, на freebsd - httpready/dataready

А что именно httpready или dataready ?

> worker_processes  4;
> worker_connections  50000;
> worker_rlimit_nofile 180000;
> 
> serverC# netstat -m
> 7947/1653/9600 mbufs in use (current/cache/total)
> 1393/719/2112/25600 mbuf clusters in use (current/cache/total/max)
> 1393/655 mbuf+clusters out of packet secondary zone in use (current/cache)
> 6419/964/7383/12800 4k (page size) jumbo clusters in use (current/cache/total/max)
> 0/0/0/6400 9k jumbo clusters in use (current/cache/total/max)
> 0/0/0/3200 16k jumbo clusters in use (current/cache/total/max)
> 30448K/5707K/36156K bytes allocated to network (current/cache/total)
> 0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
> 0/0/0 requests for jumbo clusters denied (4k/9k/16k)
> 0/6/6656 sfbufs in use (current/peak/max)
> 0 requests for sfbufs denied
> 0 requests for sfbufs delayed
> 0 requests for I/O initiated by sendfile
> 0 calls to protocol drain routines
> 
> в /var/log/messages все чисто.
> 
> Предполагаю, что дело не в юзерах, который закрывают соединения, так
> как на других серверах это бы тоже отразилось.
> Скорее всего что то с настройкой самой freebsd, подскажите пожалуйста
> что посмотреть.

Возможно, Линукс по-другому обрабатывает соединения, закрытые до accept()а:
он может их вообще не передавать приложение, возвращая EAGAIN.


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





More information about the nginx-ru mailing list