ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx потребляет процессо р больше чем php-fpm



При наличии проблемы нужно не гадать и тыкаться, а диагностировать.

Для анализа использования памяти, можно использовать pmap. Запускаешь pmap на первом сервере и на втором, и анализируй карты памяти. Пример:

pmap `pgrep nginx`
1208:   nginx: master process /usr/sbin/nginx
0000000000400000    592K r-x--  /usr/sbin/nginx
0000000000693000      4K r----  /usr/sbin/nginx
0000000000694000     64K rw---  /usr/sbin/nginx
00000000006a4000     56K rw---    [ anon ]
00000000021e7000    268K rw---    [ anon ]
....
00007f7bc6946000      4K r----  /lib/ld-2.11.1.so
00007f7bc6947000      4K rw---  /lib/ld-2.11.1.so
00007f7bc6948000      4K rw---    [ anon ]
00007fff88492000     84K rw---    [ stack ]
00007fff885ff000      4K r-x--    [ anon ]
ffffffffff600000      4K r-x--    [ anon ]
 total            17420K

По процесору, для начала можно пыпытатся strace -cfp PID:

strace -cfp 1209
Process 1209 attached - interrupt to quit
^CProcess 1209 detached
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 67.36    0.000097           1        83           writev
 19.44    0.000028           1        42           write
 13.19    0.000019           0        54           epoll_ctl
  0.00    0.000000           0        43           close
  0.00    0.000000           0        48           ioctl
  0.00    0.000000           0       639       285 readv

Дальше можно google-perftool, OProfile и т.д.

3 марта 2011 г. 16:46 пользователь Denis Kot <denis.kot@xxxxxxxxx> написал:
Перенес сайт на новый сервер. На старом стоял CentOS и nginx + php-fpm
5.2.11 собранные из сырцов. На новом сервер Gentoo и nginx естественно
собран из сырцов так же.
На новом сервере nginx постоянно находится в самом верху вывода команды top.

Старый сервер:
# nginx -V
nginx version: nginx/0.8.29
TLS SNI support disabled
configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf
--http-log-path=/var/log/nginx/access_log
--error-log-path=/var/log/nginx/error_log
--pid-path=/var/run/nginx.pid
--http-client-body-temp-path=/var/tmp/nginx/client
--http-proxy-temp-path=/var/tmp/nginx/proxy
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --with-md5-asm
--with-md5=/usr/include --with-sha1-asm --with-sha1=/usr/include
--with-http_addition_module --with-http_realip_module
--with-http_ssl_module --with-http_perl_module
--with-http_stub_status_module --without-mail_pop3_module
--without-mail_smtp_module --without-mail_imap_module

PHP 5.2.11

Новый сервер:
# nginx -V
nginx version: nginx/0.8.53
TLS SNI support enabled
configure arguments: --prefix=/usr --sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error_log
--pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock
--user=nginx --group=nginx --with-cc-opt=-I/usr/include
--with-ld-opt=-L/usr/lib --http-log-path=/var/log/nginx/access_log
--http-client-body-temp-path=/var/tmp/nginx/client
--http-proxy-temp-path=/var/tmp/nginx/proxy
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi
--http-scgi-temp-path=/var/tmp/nginx/scgi
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --with-file-aio
--with-aio_module --with-pcre --without-http_auth_basic_module
--without-http_autoindex_module --without-http_browser_module
--without-http_empty_gif_module --without-http_geo_module
--without-http_limit_req_module --without-http_limit_zone_module
--without-http_map_module --without-http_memcached_module
--without-http_referer_module --without-http_scgi_module
--without-http_ssi_module --without-http_split_clients_module
--without-http_userid_module --without-http_uwsgi_module
--with-http_addition_module --with-http_gzip_static_module
--with-http_realip_module --with-http_stub_status_module
--with-http_realip_module --with-http_ssl_module
--without-mail_imap_module --without-mail_pop3_module
--without-mail_smtp_module

PHP 5.3.5-pl0-gentoo

Конфиг nginx перенесен со старого сервера без правок.

Вывод top такой:
 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19970 nginx     20   0  124m  36m  864 S   28  0.9  18:02.17 nginx
19969 nginx     20   0  129m  41m  864 R   26  1.0  19:09.88 nginx
24247 nginx     20   0  216m  16m   9m R   15  0.4   0:03.00 php-fpm
24289 nginx     20   0  215m  12m 7552 R    9  0.3   0:00.99 php-fpm
24262 nginx     20   0  218m  25m  18m R    9  0.6   0:02.14 php-fpm

Иногда CPU у nginx доходит до 50%


Как посмотреть чем занят nginx?
Может ли влиять TLS SNI support enabled/disabled?

Denis Kot

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.