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

Михаил Монашёв postmaster на softsearch.ru
Пт Дек 24 01:28:48 MSK 2010


Здравствуйте, Игорь.

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

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

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

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

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

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

IVF> user  apache;
IVF> worker_processes  1;

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

IVF> pid        logs/nginx.pid;


IVF> events {
IVF>     use    kqueue;
IVF>     worker_connections  8192;
IVF> }


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

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


IVF>     access_log  logs/access.log;

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

IVF>     keepalive_timeout  0;

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

IVF>     gzip  off;

IVF>     server {
IVF>         listen       <IP>;
IVF>         server_name  <server_name>;
IVF>         access_log  logs/access.log  main;
IVF>         error_log   logs/error.log;
IVF>         location / {
IVF>             proxy_pass    http://localhost:80/;
IVF>             proxy_set_header  X-Real-IP  $remote_addr;
IVF>             proxy_set_header  HOST  $http_host;
IVF>         }
IVF>         error_page   500 502 503 504  /50x.html;
IVF>         location = /50x.html {
IVF>             root   html;
IVF>         }
IVF>         location ~ /\.ht {
IVF>             deny  all;
IVF>         }
IVF>         location ~*
IVF> ^.+.(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)$
IVF>             root   /data/users/USER_HOME/html;
IVF>         }
IVF>     }
IVF> }

nginx  видимо  лочится  на  диске.  Или  включите  aio  или  увеличьте
количество воркеров.

-- 

С уважением,
Михаил Монашёв
mailto:postmaster at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.




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