Re[3]: nginx для отдачи больших файлов
Михаил Монашёв
postmaster at softsearch.ru
Mon Feb 23 20:04:01 MSK 2009
Здравствуйте, Lin.
Странно, что она улучшилась. Я не заметил по конфигу, что всё проксируется к
апачам. Мой совет относился к случаю, когда nginx сам раздаёт файлы с
диска, а не проксирует запросы к апачу.
Прочтите вот это http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#root
и это http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location
и разберитесь как работает вот это конфиг
http://sysoev.ru/nginx/docs/example.html хотя бы в общих чертах. Ваша
цель настроить nginx так, что бы файлы отдавались с диска nginx-ом, а
странички, которые генерятся скриптами проксировались к апачу. Как
напишите такой конфиг, заработает worker_processes 10; .
worker_connections дефолтный скорее всего Вам подойдёт и его не
придётся задавать.
L> Поставил worker_processes 10; возможно, ситуация немного
L> улучшилась, но задержки все равно есть.
L> Если можно, объясните принцип, по которому нужно подбирать
L> worker_processes и worker_connections.
L> И что делать со скачками скорости? когда отдавал файлы апачем,
L> скорость всегда была высокая, а теперь она скачет туда-сюда.
L> Сначала обычно начинает с небольшой скоростью отдавать, потом
L> постепенно увеличивается. Может снова упасть. Может, какие буферы
L> нада покрутить? я с nginx знаком неделю, поэтому еще слабо понимаю,
L> как он работает.
>> worker_processes 1; - маловато. В зависимости от нагрузки увеличивать,
>> если все воркеры на диске начинают лочиться. Это скорее всего решит
>> Вашу первую проблему.
>>
>> L> Здравствуйте.
>> L> Система FreeBSD 7, 4 Гб RAM.
>> L> nginx нужно использовать для отправки файлов самого разного размера: от 2-3 кб до 2-3 гб.
>> L> Пытался подобрать оптимальный конфиг, но не очень получается.
>> L> Вот, что у меня на данный момент:
>>
>>
>> L> user www www;
>> L> worker_processes 1;
>>
>> L> worker_rlimit_nofile 10240;
>> L> worker_rlimit_sigpending 32768;
>> L> worker_priority 5;
>>
>> L> error_log /.../nginx_error_log info;
>>
>> L> events {
>> L> worker_connections 20480;
>> L> use kqueue;
>> L> }
>>
>> L> http {
>> L> default_type application/octet-stream;
>>
>> L> log_format main
>> L> '$remote_addr - $remote_user [$time_local] '
>> L> '"$request" $status $bytes_sent '
>> L> '"$http_referer" "$http_user_agent" '
>> L> '"$gzip_ratio"';
>>
>>
>>
>> L> access_log /.../nginx_access_log main;
>>
>>
>>
>>
>> L> client_header_timeout 60;
>> L> client_body_timeout 60;
>> L> send_timeout 120;
>> L> proxy_read_timeout 180;
>> L> proxy_connect_timeout 60;
>> L> proxy_send_timeout 180;
>>
>>
>> L> msie_padding on;
>>
>> L> proxy_buffer_size 32k;
>>
>> L> proxy_buffers 64 512k;
>> L> proxy_busy_buffers_size 1024k;
>> L> proxy_temp_file_write_size 1024k;
>>
>> L> gzip on;
>> L> gzip_min_length 10240;
>> L> gzip_buffers 32 64k;
>> L> gzip_types text/html application/x-javascript text/css text/xml
>> L> text/plain;
>>
>> L> client_header_buffer_size 4k;
>> L> client_max_body_size 120000000;
>> L> large_client_header_buffers 16 8k;
>>
>> L> sendfile on;
>> L> tcp_nopush on;
>> L> tcp_nodelay on;
>>
>> L> output_buffers 32 256k;
>> L> postpone_output 1460;
>>
>> L> lingering_time 30;
>> L> lingering_timeout 6;
>> L> reset_timedout_connection on;
>>
>> L> keepalive_timeout 20;
>> L> optimize_server_names on;
>>
>> L> index index.html;
>>
>> L> server {
>> L> listen ххх.ххх.ххх.ххх:80;
>> L> server_name ххх;
>> L> location / {
>>
>> L> proxy_pass http://127.0.0.1:81/;
>> L> proxy_redirect off;
>> L> proxy_set_header Host $host;
>> L> proxy_set_header X-Real-IP $remote_addr;
>> L> }
>> L> }
>> L> }
>>
>>
>> L> Но проблемы следующие:
>> L> - большие паузы перед отдачей файла (сразу после старта сервера
>> L> отдает сразу же, через некоторое время начинаются приличные паузы).
>> L> - непонятная скорость отдачи файлов. файлы отдаются рывками,
>> L> скорость иногда запредельно низкая (10-15 Кб/с, когда нормальная
>> L> 300-500 Кб/с).
>>
>> L> Какие настройки нужно менять и где крутить?
>> L> Спасибо!
--
С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.
More information about the nginx-ru
mailing list