Re: непонятное "залипание"

Igor V. Fatkulin ingvar на westsib.ru
Чт Дек 23 21:40:22 MSK 2010


IVF>>>> Есть пара серверов:
IVF>>>> 1.  nginx + apache2.0 + mod_php5.2,  4ядерный  XEON,  2GB, среднее LA <0.8,
IVF>>>> диски не загружены почти вообще, FreeBSD 7.0 32bit
IVF>>>> 2.   nginx + apache1.3 + php5.2  as CGI,  2дерный  Core2,  4GB, среднее LA>2,
IVF>>>> диски не загружены почти вообще, FreeBSD 8.0 64bit

IVF>>>> У обоих одинаковая симптоматика - сайт либо открывается мгновенно,
IVF>>>> либо выдача залипает секунд на 10-15, при этом ни в php, ни в MySQL не
IVF>>>> висит ничего, что можно было бы попробовать объявить причиной залипания.
IVF>>>> Причем залипание на первый взгляд немотивированное - только что
IVF>>>> тыкался по сайту и отклик был 1-2 секунды, и внезапно выдача
IVF>>>> тормозится. Затем опять все начинает летать. Интервалы между
IVF>>>> залипаниями абсолютно произвольные.

IVF>>>> Хочу попросить совета где покопать решение этой проблемы,
IVF>>>> что показать из конфигов nginx, apache, ОС?

ММ>>> Посмотрите tcpdump-ом кто именно тормозит: nginx или апач.

IVF>> Похоже, что залипает nginx, т.к. проблема проявляется и на виртхосте,
IVF>> где лежит только статика, отдаваемая nginx.

ММ> Конфиг или весь, или только для залипающего server{...} пришлите пожалуйста.

user  apache;
worker_processes  1;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        logs/nginx.pid;


events {
    use    kqueue;
    worker_connections  8192;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] $request '
                      '"$status" $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';


    access_log  logs/access.log;

    sendfile       on;
    tcp_nopush     on;
    output_buffers  1 256k;
    tcp_nodelay    on;
    send_lowat     12000;

    keepalive_timeout  0;

    client_max_body_size 1024m;
    proxy_buffering on;
    proxy_buffers 8 8k;
    proxy_temp_path /var/nginx/proxy 1 2;
    client_header_timeout 300;
    client_body_timeout 300;

    gzip  off;

    server {
        listen       <IP>;
        server_name  <server_name>;
        access_log  logs/access.log  main;
        error_log   logs/error.log;
        location / {
            proxy_pass    http://localhost:80/;
            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  HOST  $http_host;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location ~ /\.ht {
            deny  all;
        }
        location ~* ^.+.(jpg|jpeg|gif|png|bmp|swf|flv|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|rtf|js|html|htm)$ {
            root   /data/users/USER_HOME/html;
        }
    }
}




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