Upload module + direct_io

Valery Kholodkov valery+nginxru на grid.net.ru
Пт Апр 23 12:10:58 MSD 2010


----- dimkalinux <dimkalinux at gmail.com> 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