Static Files

Hi

I am intend to use NGINX (LINUX) for serving static files with high
concurrency and bandwidth.
Some of the files is served from the disk and some from cache.
I am trying to find the configuration for best performance.

I have some questions regarding NGINX configuration.

  1. output_buffers 1 32k

This directive excepts 2 inputs
can someone explain me the meaning of each input
I can see that 32K is size of data (per fetch) when reading from a DIsk

what else it influences?
When serving big files, best Disk utilization is in blocks of 1MB, is it
OK
to change this directive to 1024k?

  1. aio

**I read in Wiki the following
" This directive is usable as of Linux kernel 2.6.22. For Linux it is
required to use directio, this automatically disables sendfile
support."

when using AIO I must use directio on? (when testing I could see the
file
is served from the cache - which means it is not using O_DIRECT)

  1. *sendfile
    *----------------------------------------
    Is NGINX try to send a file using 1 sendfile call (count = file size)?
    If so when trying to send file residing only on the Disk, the server is
    blocked till end of transmition?
    In this model serving multiple files some on the disk and some cached is
    inefficient?

Will be happy to get any answer or opinion

Thanks
Hagai

Hagai A.
Qwilt | Work: +972-72-2221644| Mobile: +972-54-4895656 |
[email protected][email protected]

1 output_buffers

because static file used sendfile in nginx, and if you need modify file
content, you need read file content to memory(example gzip filter), this
memory size is output_buffers.

first arg is buf number, second is buf size. if allocated memory greater
than number*size, nginx will send buf and then continue read;

2 aio

yes.

3 sendfile

first, sendfile have limit(2g - 1) in nginx, if file size is greater
than
limit, nginx will send partially everytime. second, because fd is
NONBLOCK,
so server is not block.

On Tue, Sep 27, 2011 at 7:36 PM, Hagai A. [email protected]
wrote:


*" This directive is usable as of Linux kernel 2.6.22. For Linux it is
In this model serving multiple files some on the disk and some cached is


douban:www.douban.com/people/mustang/

blog: www.pagefault.info

twitter: www.twitter.com/minibobo

weibo: www.weibo.com/diaoliang

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs