nginx-0.3.7

Igor Sysoev is at rambler-co.ru
Thu Oct 27 19:31:22 MSD 2005


On Thu, 27 Oct 2005, Igor Sysoev wrote:

> Изменения в nginx 0.3.7                                           27.10.2005
>
>    *) Добавление: директива access_log поддерживает параметр buffer=.
>
>    *) Исправление: nginx не собирался на платформах, отличных от i386,
>       amd64, sparc и ppc; ошибка появилась в 0.3.2.
>
>
> Буферизация логов включается так:
> access_log   /path/to/log  format  buffer=32k;

Размер буфера не моежт быть больше размера атомарной записи
в дисковый файл для OS. Во FreeBSD это размер неограничен, судя по коду
в src/sys/kern/vfs_vnops.c (4.10):

vn_write(fp, uio, cred, flags, p)
{
     [ ... ]

     VOP_LEASE(vp, p, cred, LEASE_WRITE);
     vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
     if ((flags & FOF_OFFSET) == 0)
         uio->uio_offset = fp->f_offset;
     ioflag |= sequential_heuristic(uio, fp);
     error = VOP_WRITE(vp, uio, ioflag, cred);
     if ((flags & FOF_OFFSET) == 0)
         fp->f_offset = uio->uio_offset;
     fp->f_nextoff = uio->uio_offset;
     VOP_UNLOCK(vp, 0, p);
     return (error);
}

В 6.0 код подобный.


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





More information about the nginx-ru mailing list