nginx + fastcgi php && swap

Alexander Simonov a.simonov at favoritbet.com
Thu Aug 2 12:58:23 MSD 2007


Добрый день!
Вот уже полностью перешли с apache + mod_php на nginx + fastcgi php.
Нагрузка на сервер упала. Памяти свободной тоже стало больше.
НО есть несколько непонятных мне ньюансов.
1) Переодически один из процессов php начинает дико жрать память и проц.
strace показывает что он активно повторяет следущее:
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812733952, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812733952, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000
mremap(0x2a9f3fa000, 1812738048, 1812738048, MREMAP_MAYMOVE) =
0x2a9f3fa000

Использую spawn-fcgi из поставки lighhtpd.

Настройки fastcgi php следующие:

PHP_FCGI_CHILDREN=200
PHP_FCGI_MAX_REQUESTS=2000
FCGI_WEB_SERVER_ADDRS="127.0.0.1"
ALLOWED_ENV="PATH USER"
ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS FCGI_WEB_SERVER_ADDRS"

2) Почему-то сервак начал свопиться, причем сильно. Сейчас порядка трех
гигов в свопе. Раньше такого не было.
free -m:

             total  used       free     shared    buffers     cached
Mem:          7791  3064       4727          0         78       1181
-/+ buffers/cache:  1804       5987
Swap:         3906  2911        995

Настройки nginx для пхп:

fastcgi_pass   127.0.0.1:8888;
fastcgi_index  index.php;
fastcgi_read_timeout 5m;
fastcgi_send_timeout 5m;
fastcgi_connect_timeout 90;

set $path_info $fastcgi_script_name;
set $real_script_name $fastcgi_script_name;
if ( $fastcgi_script_name ~ "(.+?\.php)(/.+)$" ) {
       set $real_script_name $1;
       set $path_info $2;
}
fastcgi_param  SCRIPT_FILENAME  $document_root/$real_script_name;
fastcgi_param  SCRIPT_NAME      $real_script_name;
fastcgi_param  PATH_INFO        $path_info;
fastcgi_param  QUERY_STRING     $query_string;
fastcgi_param  REQUEST_METHOD   $request_method;
fastcgi_param  REMOTE_ADDR      $remote_addr;
fastcgi_param  CONTENT_TYPE     $content_type;
fastcgi_param  CONTENT_LENGTH   $content_length;
fastcgi_param  DOCUMENT_ROOT    $document_root;
fastcgi_param  REDIRECT_STATUS  200;

Мне вот интересно в чем может быть проблема.

Заранее благодарю.

-- 
Alexander Simonov <a.simonov at favoritbet.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: ??? ????? ????????? ????????? ???????? ????????
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070802/e4069ec9/attachment.pgp>


More information about the nginx-ru mailing list