ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Upload module + direct_io



----- dimkalinux <dimkalinux@xxxxxxxxx> wrote:
> Нельзя включить DIRECT IO и для аплоада в вашем модуле? Или модуль
> использует только возможности nginx?

Похоже я не прав, теоретическая возможность реализовать Direct IO есть. 
Поработаю над этим, может получиться.

> client_body_buffer_size и upload_buffer_size уже используем.
> Какие настройки рекомендуются для аплоада 500 мб - 2 гигабайтных файлов?
> 
> Текущий конфиг.
> 
> location /upload_1
> {
>       gzip              off;
>       upload_buffer_size 16m;
>       client_body_buffer_size 5m;
> 
>       upload_limit_rate 7m;
> 
>       # Pass altered request body to this location
>       upload_pass   /realyupload;
> 
>       # Store files to this location
>       upload_store /var/upload/1/tmp_up;
> 
>       # Set specified fields in request body
>       upload_set_form_field $upload_field_name.name "$upload_file_name";
>       upload_set_form_field $upload_field_name.content_type 
> "$upload_content_type";
>       upload_set_form_field $upload_field_name.path "$upload_tmp_path";
>       upload_set_form_field $upload_field_name.ip "$remote_addr";
>       upload_set_form_field $upload_field_name.storage_name "upload_1";
> 
>       upload_aggregate_form_field "$upload_field_name.size" 
> "$upload_file_size";
> 
>       # Pass matching fields from client to backend
>       upload_pass_form_field "submit";
>       upload_pass_form_field "progress_id";
>       upload_pass_form_field "uploadHidden";
>       upload_pass_form_field "uploadPassword";
>       upload_pass_form_field "uploadDesc";
> 
>       upload_cleanup 400 403 404 499 500-505;
>       track_uploads proxied 30s;
> 
>       # access
>       if ($geo = world) {
>           return 403;
>       }
> }

Я не системный администратор, вряд ли смогу привести конкретные цифры.

Но в целом, полагаю, имеет смысл client_body_buffer_size настраивать так же как 
output_buffers (учитывая, что client_body_buffer_size не принимает числа 
буферов), а upload_buffer_size -- так, чтобы был баланс между потреблением 
памяти и зарузкой процессора.

-- 
Regards,
Valery Kholodkov

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.