ПРОЕКТЫ 


  АРХИВ 


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]

Вопрос по memcache+nginx+php-fpm


  • To: nginx-ru@xxxxxxxxx
  • Subject: Вопрос по memcache+nginx+php-fpm
  • From: "Rad" <nginx-forum@xxxxxxxx>
  • Date: Thu, 21 Jun 2012 16:13:52 -0400 (EDT)
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=0/1+Vs/52OKUWhBlWa4cP22jxHS9g5xBSO7SD3tYoPs=; b=JYMRyAce6SON9ViEY3sbPvdckaxN1m0I4Wqma4ow12Q3XlR/Hx0R7+IGyaCcO59CnYlXkHa6kVWpqOm2FsWRwDFkcj5gvmQqDeRx0KNSt/0EuTr5sxWNzPxJ4n4ggP8n;

Добрый вечер,
С nginx работаю не так давно, хотелось бы
уточнить некоторые нюансы:
имеется связка (CentOS 6.1) memcache+nginx(1.2.1)+php-fpm.
Конфигурация:
......
upstream memcached_backend {
    server 127.0.0.1:11211;
    keepalive 32;
}
..................
location ~ ^/request/generateXML.*
{
        access_log off;
        set $memcached_key "page:$request_uri";
#we have upstream memcached_backend to reduce TIME_WAIT
        memcached_pass memcached_backend;
        default_type       text/xml;
        error_page 404 405 502 = @cache_miss;
}

location @cache_miss {
    access_log off;
    rewrite ^.*$    /index.php?what=generateXML&do=generateXML  break;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME
/var/www/site/htdocs/$fastcgi_script_name;
    fastcgi_param  DOCUMENT_ROOT  /var/www/site/htdocs;
}

Имеем следующие сценарии:
1)Нет содержимого в мемкеше (error.log in debug
mode):
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header:
"X-Powered-By: PHP/5.3.13-1"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header:
"Content-Type: text/xml"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header:
"Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header: "Expires:
Thu, 21 Jun 2012 19:27:28 GMT"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header:
"Cache-Control: no-store, no-cache, must-revalidate"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header:
"Cache-Control: post-check=0, pre-check=0"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header: "Pragma:
no-cache"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header: "ETag:
"c99222bcc17329301700bc2333212339bb""
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header:
"Connection: close"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 0
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header:
"Content-Length: 400"
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi parser: 1
2012/06/21 19:27:28 [debug] 8833#0: *1921 http fastcgi header done
2012/06/21 19:27:28 [debug] 8833#0: *1921 xslt filter header
2012/06/21 19:27:28 [debug] 8833#0: *1921 HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Thu, 21 Jun 2012 19:27:28 GMT
Content-Type: text/xml
Content-Length: 400
Connection: keep-alive
X-Powered-By: PHP/5.3.13-1
Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT
Expires: Thu, 21 Jun 2012 19:27:28 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
ETag: "c99222bcc17329301700bc2333212339bb"

2) Есть содержимое в мемкеше:
2012/06/21 19:27:29 [debug] 8833#0: *1921 http upstream request:
"/request/generateXML?mon=6&week=2"
2012/06/21 19:27:29 [debug] 8833#0: *1921 http upstream process header
2012/06/21 19:27:29 [debug] 8833#0: *1921 recv: fd:6 469 of 4096
2012/06/21 19:27:29 [debug] 8833#0: *1921 memcached: "VALUE
page:/request/generateXML?mon=6&week=2 0 400"
2012/06/21 19:27:29 [debug] 8833#0: *1921 xslt filter header
2012/06/21 19:27:29 [debug] 8833#0: *1921 HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Thu, 21 Jun 2012 19:27:29 GMT
Content-Type: text/xml
Content-Length: 400
Connection: keep-alive

Вопросы:
1. Я так понимаю режутся заголовки:
- можно решить сторонним модулем (чтоб
хранить заголовок)
- использовать fastcgi_pass_header, но почему-то
он у меня не работает.

2. Чтоб установить Connection: close нужно в
локейшене:
keepalive_timeout 0;
Однако в таком случае у меня
поднимается значение TIME_WAIT до 21 000, и
падает показатель Active Connections:
Active connections: 1976
server accepts handled requests
 1313402 1313402 18510553
Reading: 10 Writing: 4 Waiting: 1962
Connection closed by foreign host.

если же использовать Connection: keep-alive, то
понятное дело, Active connections поднимается
до: 6976, а значение TIME_WAIT падает до 1000.

Просьба поправить меня в моих
суждениях и/или ошибках. А также, что
будет правильнее keep-alive (с Waiting > 5000, но
TIME_WAIT<2000) или close (с Waiting < 2000, но TIME_WAIT>21000)

PS. Некоторый тюнинг по TIME_WAIT на уровне OS
делал.

Заранее спасибо

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,227786,227786#msg-227786

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


 




Copyright © Lexa Software, 1996-2009.