worker_rlimit_nofile

Igor Sysoev is at rambler-co.ru
Mon Jan 15 19:15:38 MSK 2007


On Mon, 15 Jan 2007, drmarker wrote:

> Пишу в конфиге:
>
> worker_processes 1;
> worker_rlimit_nofile 8192;
> worker_priority -5;
>
> events {
>   worker_connections 2048;
> }
>
> Задача - сериализовать запросы nginx к диску, то есть читать с диска
> будет 1 воркер, хочется ему увеличить количество коннектов.
>
> В error.log получаю:
>
> 2007/01/15 18:17:20 [notice] 8088#0: using the "epoll" event method
> 2007/01/15 18:17:20 [notice] 8088#0: nginx/0.5.6
> 2007/01/15 18:17:20 [notice] 8088#0: OS: Linux 2.6.17-gentoo-r8
> 2007/01/15 18:17:20 [notice] 8088#0: sysctl(KERN_RTSIGMAX): 0
> 2007/01/15 18:17:20 [notice] 8088#0: getrlimit(RLIMIT_NOFILE): 1024:1024
> 2007/01/15 18:17:20 [notice] 8089#0: start worker processes
> 2007/01/15 18:17:20 [notice] 8089#0: start worker process 8090
>
> Что значит строчка
>
> 2007/01/15 18:17:20 [notice] 8088#0: getrlimit(RLIMIT_NOFILE): 1024:1024
>
> ???
>
> Правильно ли я вообще делаю?

getrlimit(RLIMIT_NOFILE) - это то, с какими лимитами был запущен nginx.
worker_rlimit_nofile позволяет их изменить.

> Ожидается, что при 1 воркере не будет конкуренции за диск и общий
> исходящий bandwidth повысится. Или "оставь надежду, всяк сюда
> входящий"? :)

Нужно экспериментировать на реальной нагрузке - увеличивать
worker_processes, пока не будет достигнут максимум.


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





More information about the nginx-ru mailing list