Re: nginx как прокси - странности...

ink08 ink08 на ink-online.ru
Ср Мар 28 12:19:22 UTC 2012


"access_log off;" - такая штука помоему создает лог /etc/nginx/off
скорее всего файл ищется в цикле на каждом сервере, от этого после
5-10 минут жуткие тормоза. смотрите логи

worker_processes 16;       - не много ли? начните с 8
worker_priority -10;           - попробуйте без этого

27 марта 2012 г. 12:51 пользователь  <admin на sysadmins.el.kg> написал:
> Приветствую всех! У меня собственно проблемы следующего характера - есть 4
> машины с общим дисковым массивом, все с OracleLinux 6.2 на борту. 2 из них
> помощнее, 2 послабее. на тех что помощнее установлены nginx и apache, на
> тех что послабее - lighttpd. Предполагалась следующая схема - машины с
> лайти отдают статику, машины с апачами - динамику, на обоих машинах с
> apache установлен nginx чисто как балансирующий прокси-сервер (failover
> via heartbeat). Однако то ли руки у вашего покорного слуги растут не из
> того места, то ли еще что... в общем уже и не знаю на что грешить.
> Вот конфиг:
>
> user nginx;
>
> worker_processes 16;
> worker_priority -10;
>
> error_log /var/log/nginx/error.log notice;
> pid /var/run/nginx.pid;
>
> timer_resolution 100ms;
> worker_rlimit_nofile 8192;
>
> events {
> worker_connections 2048;
> use epoll;
> }
>
>
> http {
> include /etc/nginx/mime.types;
> default_type application/octet-stream;
>
> log_format IP '$remote_addr';
>
> log_format main '$remote_addr - $remote_user [$time_local] "$request" '
> '$status $body_bytes_sent "$http_referer" '
> '"$http_user_agent" "$http_x_forwarded_for"';
> log_format upstreams '$remote_addr - $remote_user [$time_local] '
> '"$request" $status $body_bytes_sent '
> '"$http_referer" "$http_user_agent" '
> '$upstream_addr "$upstream_status" '
> '$upstream_response_time "$host" ';
>
>
> access_log /var/log/nginx/access.log main;
>
> limit_conn_zone $binary_remote_addr zone=myzone:10m;
> proxy_cache_path /var/cache/nginx levels=2 keys_zone=pagecache:5m
> inactive=10m max_size=50m;
> proxy_cache off;
> proxy_connect_timeout 90;
> proxy_send_timeout 90;
> proxy_read_timeout 90;
> client_body_buffer_size 128k;
> # proxy_buffer_size 4k;
> # proxy_buffers 4 32k;
> proxy_buffers 16 32k;
> proxy_buffer_size 64k;
> proxy_busy_buffers_size 64k;
> proxy_temp_file_write_size 64k;
> client_header_buffer_size 16k;
> client_max_body_size 2048M;
> open_file_cache max=512 inactive=86400s;
> open_file_cache_valid 21600s;
> open_file_cache_min_uses 1;
> open_file_cache_errors off;
>
>
> output_buffers 32 64k;
> postpone_output 1460;
>
> lingering_time 30;
> lingering_timeout 10;
> reset_timedout_connection on;
>
> client_header_timeout 90;
> client_body_timeout 90;
>
> expires 2m;
> keepalive_timeout 60;
> send_timeout 10m;
>
> ignore_invalid_headers on;
> # resolver dns_ip;
> keepalive_requests 100;
> limit_conn_zone $binary_remote_addr zone=gulag:5m;
> recursive_error_pages on;
> sendfile on;
> server_name_in_redirect on;
> server_tokens off;
>
> tcp_nodelay on;
> tcp_nopush on;
>
> gzip off;
> gzip_disable "MSIE [1-6]\.";
> gzip_comp_level 3;
> gzip_min_length 1100;
> gzip_buffers 4 64k;
> gzip_http_version 1.1;
> gzip_proxied any;
> gzip_types text/plain application/xml application/x-javascript text/css;
>
> server {
> server_name host www.host;
> listen 0.0.0.0:80;
>
> if ($host = 'host' ) { rewrite ^/(.*)$ http://www.host/$1 permanent; }
>
> location ~*
> ^.+\.(jpg|jpeg|gif|flv|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|js|ico|swf)$
> {
> access_log off;
> error_log /var/log/nginx/host.kg.error.log;
> root /srv/data/www/host;
> # proxy_pass http://static;
> # proxy_set_header Host $host;
> # proxy_set_header IP $remote_addr;
> # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> # proxy_set_header X-Forwarded-Proto $scheme;
> # proxy_set_header X-Real-IP $remote_addr;
> }
> location / {
> proxy_pass http://192.168.50.1:8081;
> proxy_redirect http://192.168.50.1:8081/ /;
> proxy_set_header Host $host;
> proxy_set_header IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
> proxy_set_header X-Forwarded-Proto $scheme;
> proxy_set_header X-Real-IP $remote_addr;
> access_log /var/log/nginx/host.dyn.access.log upstreams;
> }
> }
> upstream static {
> server 192.168.50.5:8080 max_fails=3 fail_timeout=30s;
> server 192.168.50.4:8080 max_fails=3 fail_timeout=30s;
> server 192.168.50.1:8081 backup;
> server 192.168.50.3:8081 backup;
> }
>
> upstream apaches {
> server 192.168.50.1:8081 max_fails=3 fail_timeout=30s;
> server 192.168.50.3:8081 max_fails=3 fail_timeout=30s;
> }
> }
>
> Итак, странности:
>
> 1. Стоит включить в первом локейшне проксирование на апстрим static вместо
> указания корня минут через 5-10 начинаются жуткие тормоза с откликом
> сервера и прогрузкой страниц. Грешил на бэкенды, заменил lighttpd на nginx
> - разницы никакой.
>
> 2. Если включить во втором локейшне апстрим apaches, вместо явной передачи
> какому-либо из бэкендов, время загрузки страниц увеличивается примерно
> вдвое. Применение там директивы ip_hash увеличивает его еще примерно
> вдвое. Конфиги apache обоих серверов идентичны и сведены к минимуму -
> ничего лишнего!
>
> 3. Как вы наверное заметили, у меня выключены gzip и proxy_cache - при
> включении данных параметров начинаются ужаснейшие тормоза как и в первом
> случае и примерно через полчаса паботы сервер загинается в известную позу.
>
> Уважаемые гуру, подскажите пожалуйста где затык.
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
С уважением,
Боваев Бова


Подробная информация о списке рассылки nginx-ru